2009-06-18 16 views

答えて

20

Server.HTMLEncodeを参照してください。

HTMLEncodeメソッドは、指定された文字列にHTML エンコーディングを適用します。この は、Webアプリケーション で使用する前に、フォームデータと他のクライアント のデータを要求するための簡単な方法として便利です。データを符号化する は、潜在的に危険な文字 を、HTMLでエンコードされた同等のものに変換します。

符号化する文字列が DBCSでない場合は次のように、HTMLEncode文字 を変換:

  • をより少なくより文字(<)&lt;に変換されます。
  • 大なり文字(>)は&gt;に変換されます。
  • アンパサンド文字(&)は&amp;に変換されます。
  • 二重引用符( ")は&quot;に変換される。そのコード
  • 任意のASCIIコード文字が0x80の が はASCII文字値で&#<number>、に変換されるよりも、大きいか等しい。

これは、リクエストストリームにデータをダンプし、そのデータがユーザが入力したフィールドからデータベースに保存されると、ユーザがファーストネームが

であると言うことができなくなることを意味します。 この例では
<script type="text/javascript"> 
    function doSomethingEvil() { /* ... */ } 
</script> 

Server.HTMLEncode<>を符号化するだろう、と。このままに"文字:

<スクリプトタイプ:ブラウザでレンダリングすると、

&lt;script type=&quot;text/javascript&quot;&gt; 
    function doSomethingEvil() { /* ... */ } 
&lt;/script&gt; 

は次のようになります。 = "テキスト/ javascript " > function doSomethingEvil(){/ * ... * /} 0実際に実行されるのではなく、/スクリプト>

です。

2

それはが攻撃

のこのタイプを実行するために使用することができるスクリプトに変身するユーザー入力できない場合ので、それは、XSS(クロスサイトスクリプティング)攻撃を防ぎます
関連する問題