2012-07-18 88 views
0

我試圖拒絕訪問我的網站,當用戶使用像IIS7 URL過濾

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

一個URL現在,當我嘗試上述IIS7的網址將成爲:

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:

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

我到底做錯了什麼?

感謝您的進步!

回答

0

將web.config設置爲拒絕所有用戶訪問somepage.aspx,然後只允許授權用戶訪問。這取決於您是使用Windows Active Directory授權還是表單授權,但做法不同,但概念仍然相同。

關於如何設置web.config中,look here

在另一方面,你爲什麼在你的URL一段?它是爲當前目錄?

+0

url中的時間段不是任何目錄的一部分,我只是想收緊我網站的安全性,所以當有人試圖訪問https://www.mywebsite.com/./somepage.aspx(應該給一個禁止狀態或未找到)服務器將做一些URL重寫https://www.mywebsite.com/somepage.aspx(到實際頁面) – 2012-07-18 14:07:02

+0

我在我的web.config中執行用戶限制操作。看看我提供的鏈接,看看它是否可以幫助你獲得你所需要的。如果用戶嘗試訪問受限制的網頁,則可以將web.config設置爲重定向到另一個顯示更多用戶友好信息的網站。 – Steven 2012-07-18 14:13:01

+0

我不想拒絕訪問該頁面,我只是試圖強制使用正確的URL而不是有趣的網址,如http://www.mywebsite.com/./somepage.aspx – 2012-07-18 14:16:36