2012-04-25 3 views
0

IIS 7を使用してURLリライト2.0でルールを設定する際にいくつか問題があります。最新の.NET 4.0のすべてのものを組み合わせたWebサイトで作業しています古典的な.ASPのものに戻ります。私の現在の仕事は、XSS攻撃を防ぐために、ユーザー入力から特定の文字を取り除いてみることです。私は3つのステップが必要と知っているIIS7でURLリライト2.0を使用してPOSTをクリーニングする

<rule name="Rule Name" stopProcessing="true"> 
    <match url="myPage.asp" /> 
    <conditions> 
     <add input="" pattern="" /> 
    </conditions> 
    <action type="" /> 
</rule> 

、 1)私たちが見ていることは、ポスト 2であることを確認してください)悪い文字の数のいずれかを使用して識別:

は、私は基本的な構文を取得しますregex 3)それらの文字を取り除いてポストを続行します。

最初私はこれによって対処することができると信じて:

<add input="{REQUEST_METHOD}" matchType="Pattern" pattern="POST" ignoreCase="true" /> 

私をイライラさせられる何は、第2、第3の問題です。
2番目の入力も入力ですが、{{}変数を見つけようとしています。今私はこれがあります。

<add input="{REQUEST_URI}" pattern="[\\\|&lt;>]" /> 

を私は{REQUEST_URI}はそこに行く権利変数ではないことを知っています。私はURLの書き換えサイト(http://www.iis.net/download/urlrewrite)にいましたが、私はサーバー変数のIIS 6.0リストを見つけました(http://msdn.microsoft.com/en- us/library/ms524602(v = 90).aspx)。しかし、私は7.0以上の変数とその意味を知ることができません。誰かがどこかにブックマークして渡すことができるものですか?

第3の問題も私に与えられています。今、いくつかの他のルールでは、私は<action type="AbortRequest" />が設定されていますが、これについては、私は要求を停止するつもりはない、私はちょうど悪い文字を削除し、POSTを続行するために探しています。 IISのカスタムルールの設定は有望ですが、URLにリダイレクトするだけでなく、何か他の操作を行う必要がないようです。これは可能なのでしょうか?

私が探しているものを得るための代替手段として、IIS管理モジュールを検討していることにも注意してください。それは誰にとっても良い道のように聞こえるでしょうか?

答えて

0

だから、あなたはそれを行うことができず、私はURL書き換えアプリケーションの範囲を誤解していたことが判明しました。私はIIS管理対象モジュールを検討する必要があり、将来的にはこれを念頭に置きます。

関連する問題