如何保护Web服务器从反向代理服务器

我有一个网站“www.website.com”。 最近我发现有人在我的网站前面设置了一个几乎完全相同的url“www.website1.com”。 我很关心那些通过反向代理来到我的网站的用户。 他们的用户名和密码可能在login时被logging。

有没有办法让我的networking服务器拒绝反向代理? 例如,我已经用“www.fakestackoverflow.com”前面的“www.stackoverflow.com”设置了一个使用squid的反向代理。 所以无论何时在我的网页浏览器地址栏中input“www.fakestackoverflow.com”,我都会被反向代理redirect到“www.stackoverflow.com”。 然后我注意到我的地址栏中的url改为“www.stackoverflow.com”,表明我不再经历反向代理。 “www.stackoverflow.com”必须检测到我来自另一个url的网站,然后通过实际的urlredirect到网站。 如何在运行ASP.NET Web应用程序的IIS7中执行此类操作?

我已经尝试在我的页面检测window.location添加JavaScript代码,并适当的redirect,但这将导致翻译和谷歌caching服务失败。 stackoverflow.com做了很好的“redirect”,它不会导致谷歌翻译失败了。

第一种解决scheme是使用HTTPS保护您的网页,并确保在首页警告用户该url必须https://www.website.com

如果不是,他们应该手动input。 (这是许多银行在这种情况下)。

另外,您可以防止反向代理的IP。 你可以使用stream量来检测IP,这个IP会更高。 但要小心不要阻塞企业代理!

代理应该添加一个或多个代理标头到请求,这可以被检测到并且客户端适当地redirect。 请注意,有些互联网服务提供商可能会使用透明的代理服务器,除非采取适当措施,否则您的网站将无法访问其客户。