2011-04-18 85 views
0

我有一個頁面:http://example/mypage如何檢查是否正在從代理請求頁面?

而且還有一個代理,使我的網頁的請求:

http://proxy/?url=http://example/mypage 

我怎樣才能知道頁面是從一個空白頁面,無需代理,或者打開它正在被代理請求?

+0

[代理檢測使用asp.net C#]可能的重複(http://stackoverflow.com/questions/5000243/proxy-detect-using-asp-net-c) – 2011-04-18 22:10:56

+1

@Marc乙:鏈接的問題是問關於檢測是否有在本地機器上配置的代理,因爲這個問題我想問如何檢測代理是否被用來顯示他的網頁。 – 2011-04-18 22:14:52

回答

3

一般來說,你不能。當請求到達HTTP服務器時,關於客戶端的唯一信息是其IP地址以及客戶端決定在請求頭中發送給您的任何其他信息。您可以做的最好的方法是在某種數據庫中查找IP地址,以查看它是否是已知的代理服務器。

如果您正在尋找特定代理,您希望在請求標頭中傳遞特定信息,那完全是另一回事。但總體而言,我可以從客戶端向您發送Web請求,並使其看起來像代理,或者我可以從代理髮送請求,並使其看起來像直接來自客戶端。

2

我懷疑不會有一個可靠的方法來做到這一點,因爲匿名代理嘗試是......很好的匿名...您可以嘗試檢查HttpContext.Request.UrlReferrer是否有一定的價值,但這不會是可靠的。您可以檢查一些已知代理IP地址的數據庫,但我懷疑這也不會很可靠。

相關問題