如何保護 Web 伺服器免受反向代理伺服器的影響
我有一個網站“www.website.com”。最近我發現有人在我的網站前面設置了一個幾乎相同的網址“www.website1.com”的反向代理。我擔心那些通過反向代理訪問我網站的使用者。他們登錄時可能會記錄他們的使用者名和密碼。
有沒有辦法讓我的網路伺服器拒絕反向代理?例如,我使用 squid 設置了一個反向代理,在“www.stackoverflow.com”前面帶有 url “www.fakestackoverflow.com”。因此,每當我在網路瀏覽器地址欄中鍵入“www.fakestackoverflow.com”時,反向代理都會將我重定向到“www.stackoverflow.com”。然後我注意到地址欄中的 url 更改為“www.stackoverflow.com”,表明我不再通過反向代理。“www.stackoverflow.com”一定檢測到我從另一個 url 來到該網站,然後通過實際 url 將我重定向到該網站。如何在執行 ASP.NET Web 應用程序的 IIS7 中執行此類操作?
我嘗試在我的頁面中添加 javascript 程式碼來檢測 window.location 並適當地重定向它,但這會導致翻譯和Google記憶體服務失敗。stackoverflow.com 在“重定向”方面做得很好,也不會導致Google翻譯失敗。
第一個解決方案是使用 HTTPS 保護您的網頁,並確保在首頁上警告使用者 URL必須是https://www.website.com。
如果沒有,他們應該手動輸入。(這就是許多銀行在這種情況下所做的)。
此外,您可以為反向代理的 IP 設置防火牆。您可以使用流量來檢測 IP,在此特定 IP 上流量會高得多。但請注意不要阻止企業代理!
代理應在請求中添加一個或多個代理標頭,這樣可以檢測到並適當地重定向客戶端。請注意,某些 ISP 可能會使用透明代理,除非採取適當措施,否則他們的客戶將無法訪問您的網站。