0

ASP.NET Web フォームにテキストエリアを作成しましたが、HTML タグを入力すると、次のエラーが発生します。

 Server Error in '/GreetingCardMaker' Application.
 --------------------------------------------------------------------------------

A potentially dangerous Request.Form value was detected from the client (setGreeting="<br />"). 

HTML を削除するために文字列で呼び出すことができる .net クラス ライブラリにメソッドはありますか? あるいは、文字列を呼び出すために記述できるメソッドはありますか?

4

3 に答える 3

3

HttpServerUtility.UrlEncode()- System.Web.dll から取得されます。

取得したデータに対して URL エンコーディングを実行します (リクエストからプルすると元の値がエスケープされないため)

あるいは、Uri.EscapeUriString()非常に似たようなことをするものがあります。

于 2012-10-31T16:23:20.990 に答える
0
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="page.aspx.cs" validateRequest="false" Inherits="Project.UI.page" %>

aspxページにvalidateRequest="false"を追加します。これにより、選択したページの入力検証が無効になります。

于 2012-10-31T16:37:30.467 に答える
0

これは、ASP.net の"Request Validation"が特定の種類のコンテンツ インジェクション (特に HTML/XSS) のブロックに熱心すぎる場合によく発生します。

最も簡単な「修正」は、そのようなチェックを無効にすることですが、これまでは悪意のある入力からある程度保護されていました. リクエストの検証を無効にする場合は、潜在的に危険な入力を自分で処理する準備ができている必要があります。この機能を無効にする手順はここには含めません。これは、無効にする前に何をしているのかをよく知っておく必要があるためです。

上記のリンクは良い出発点ですが、このトピックについて読むのはこれだけではありません。

于 2012-10-31T16:30:28.497 に答える