17

現在、従来の ASP アプリケーションを XSS から保護しようとしています。ネットで Microsoft の AntiXSS を見つけましたが、これは従来のアプリケーションで動作するのでしょうか?

そうでない場合、弦を消毒する方法を教えてください。

4

5 に答える 5

18

文字列をサニタイズするには、すべての出力を HTML エンコードします。そうすれば、特殊文字や巨大な正規表現をいじる必要がなくなります。

Server.HTMLEncode(string) 

クロスサイト スクリプティング攻撃を防ぐための最も重要な 2 つの対策は次のとおりです。

  • 入力を制限します。
  • 出力をエンコードします。

方法: ASP.NET でのクロスサイト スクリプティングの防止(私は古典的な ASP ではないことを知っていますが、同様の原則があります)

于 2009-04-07T14:05:08.437 に答える
2

従来の ASP に関数が存在しない場合は、関数を記述します。

于 2009-04-07T14:51:41.677 に答える
1

(現在のプロジェクトで行っているように)特定のHTMLタグを許可する必要がある場合は、正規表現を使用してそれらのタグのみを許可し、他のタグは許可しないようにすることができます。

set objRegExp = new RegExp
with objRegExp
    .Pattern = "<^((b)|(i)|(em)|(strong)|(br))>.*</.*>"
    .IgnoreCase = varIgnoreCase
    .Global = True
end with
cleanString = objRegExp.replace(originalString, "")
于 2009-10-28T19:49:22.750 に答える
0

簡単ではありません-COM呼び出し可能なラッパーを作成し、サーバーにインストールする必要があります.「クラシック」ASPには適していないと思います.

于 2009-04-07T14:00:57.353 に答える
-1
<% 
Response.AddHeader "X-XSS-Protection", "1" 
%>
于 2015-07-28T14:40:42.380 に答える