web-dev-qa-db-ja.com

IISリクエストフィルタリングルールは拒否文字列に正規表現を使用しますか?

リクエストフィルタリングルールを使用して、IISでユーザーエージェントX(文字通り「X」のみ)をブロックしようとしています。これは、過去に他のより具体的なユーザーエージェントに対して行ったことがあります。しかし、拒否文字列がXIの疑問に過ぎないので、拒否文字列は正規表現ですか?^ X $が必要ですか?

1
Effing

これをlocalhostとfiddler/cURLでテストしました。

denyStringsエントリは正規表現とは見なされませんが、単純な文字列検索を使用します。 Xまたはxを含むすべてのユーザーエージェントをブロックせずに、ユーザーエージェントXのみをブロックするリクエストフィルタリングを使用する方法はないようです。

リクエストがそれまでに到達した場合は、URL書き換えモジュールを使用できます。要求が無効であり、ASP.NETスタックで例外が発生するため、IISレベルで要求をブロックしようとしています。

(答えるのがとても遅いですが、私はこれを自分で探していました。)

1