私はユーザー入力、特にスクリプトの問題を扱っているとき、HTML.Encode()が私に何を提供していますか?HTML.Encode() - ASP .NETのスクリプティングセキュリティ上の問題を防止するにはどうすればよいですか?
8
A
答えて
20
Server.HTMLEncode
を参照してください。
HTMLEncodeメソッドは、指定された文字列にHTML エンコーディングを適用します。この は、Webアプリケーション で使用する前に、フォームデータと他のクライアント のデータを要求するための簡単な方法として便利です。データを符号化する は、潜在的に危険な文字 を、HTMLでエンコードされた同等のものに変換します。
符号化する文字列が DBCSでない場合は次のように、HTMLEncode文字 を変換:
- をより少なくより文字(<)
<
に変換されます。- 大なり文字(>)は
>
に変換されます。- アンパサンド文字(&)は
&
に変換されます。- 二重引用符( ")は
"
に変換される。そのコード- 任意のASCIIコード文字が0x80の が はASCII文字値で
&#<number>
、に変換されるよりも、大きいか等しい。
これは、リクエストストリームにデータをダンプし、そのデータがユーザが入力したフィールドからデータベースに保存されると、ユーザがファーストネームが
であると言うことができなくなることを意味します。 この例では<script type="text/javascript">
function doSomethingEvil() { /* ... */ }
</script>
、Server.HTMLEncode
は<
、>
を符号化するだろう、と。このままに"
文字:
<スクリプトタイプ:ブラウザでレンダリングすると、
<script type="text/javascript"> function doSomethingEvil() { /* ... */ } </script>
は次のようになります。 = "テキスト/ javascript " > function doSomethingEvil(){/ * ... * /} 0実際に実行されるのではなく、/スクリプト>
です。
2
それはが攻撃
のこのタイプを実行するために使用することができるスクリプトに変身するユーザー入力できない場合ので、それは、XSS(クロスサイトスクリプティング)攻撃を防ぎます関連する問題
- 1. .NETランタイムでの静的変数の共有を防止するにはどうすればよいですか?
- 2. CompileAssemblyFromSourceのメモリリークを防止するにはどうすればよいですか?
- 3. フライウェイトオブジェクトのコピーを防止するにはどうすればよいですか?
- 4. Firefoxのオートコンプリートを防止するにはどうすればよいですか?
- 5. モバイルアプリでフィッシングを防止するにはどうすればよいですか?
- 6. ダブルクリック防止をテストするにはどうすればよいですか?
- 7. ブルートフォース攻撃を防止するにはどうすればよいですか?
- 8. CSSグラデーションバンディングを防止するにはどうすればよいですか?
- 9. Javascriptの機能を防止、停止、または終了するにはどうすればよいですか?
- 10. モバイルビジターの訪問を防ぐにはどうすればよいですか?
- 11. .NETベースクラスの使用を防ぐにはどうすればいいですか?
- 12. プログラムでASP .NET AJAXスクリプトのレンダリングを防止する
- 13. データがロードされる前にコンポーネントのレンダリングを防止するにはどうすればよいですか?
- 14. この.net Webサーバーのパフォーマンスプロファイリングの問題を解決するにはどうすればよいですか?
- 15. jQueryカルーセルの問題:サムネイルの進行を停止するにはどうすればよいですか?
- 16. アプリケーションのタイムアウトを停止するにはどうすればよいですか?
- 17. DropDownListで開くことからのドロップダウンを防止するにはどうすればよいですか?
- 18. エンティティの循環グラフを保存するInvalidOperationExceptionを防止するにはどうすればよいですか?
- 19. del * .txtの「Could Not Find」エラーメッセージを防止するにはどうすればよいですか? Windowsのバッチファイルで
- 20. iOS 5でtouchmoveイベントのデフォルトの動作を防止するにはどうすればよいですか?
- 21. HTML.ActionLinkのデフォルトを防止するにはどうすればよいですか?私のマスターページで
- 22. アクティビティ(アプリケーション)のフォーカス中にAndroidの自動ロックを防止するにはどうすればよいですか?
- 23. 長いテキストを含む表の垂直スクロールを防止するにはどうすればよいですか?
- 24. .aspxファイルを含むサーバー上で実行されているASP .NET MVCのバージョンを確認するにはどうすればよいですか。例えば
- 25. iOS 5で重複しているコアデータを防止するにはどうすればよいですか?
- 26. Turbineのコンソールへの書き込みを防止するにはどうすればよいですか?
- 27. JavaEE 6の.warファイルのリバースエンジニアリングを防止するにはどうすればよいですか?
- 28. "for"ループ内のコードの実行を防止するにはどうすればよいですか?
- 29. 特定のURL要求ページへのアクセスを防止するにはどうすればよいですか?
- 30. 現在のフォーム以外のクリックを防止するにはどうすればよいですか?