0

ユーザーが次のような URL を使用すると、自分の Web サイトへのアクセスを拒否しようとしています

https://www.mywebsite.com/./somepage.aspx

IIS7 上の URL を試してみると、次のように表示されます。

https://www.mywebsite.com/somepage.aspx

また、サーバーにurlscanをインストールしました

AllowDotInPath=0

[DenyUrlSequences]

..  ; Don't allow directory traversals
./  ; Don't allow trailing dot on a directory name
\   ; Don't allow backslashes in URL
:   ; Don't allow alternate stream access
%   ; Don't allow escaping after normalization
&   ; Don't allow multiple CGI processes to run on a single request

しかし、それはまだアクセスを許可しています:(

それをテストする私の方法は、カールを使用しています:

curl -I https://www.mywebsite.com/./somepage.aspx

私は何を間違っていますか?

よろしくお願いします!

4

1 に答える 1

0

somepage.aspx に対するすべてのユーザーのアクセスを拒否し、承認されたユーザーのみを許可するように web.config を設定します。これは、Windows Active Directory 認証とフォーム認証のどちらを使用しているかによって異なりますが、概念は同じです。

web.config の設定方法については、こちらをご覧ください

別の注意として、なぜ URL にピリオドがあるのですか? 現在のディレクトリ用ですか???

于 2012-07-18T13:36:51.243 に答える