gpt4 book ai didi

asp.net - 如何保护 Web 服务器免受反向代理服务器的影响

转载 作者:行者123 更新时间:2023-12-03 22:32:02 25 4
gpt4 key购买 nike

我有一个网站“www.website.com”。

最近才发现有人设置了反向代理在我的网站前面有一个几乎相同的网址“www.website1.com”。

我担心那些通过反向代理访问我网站的用户。他们登录时可能会记录他们的用户名和密码。

有没有办法让我的网络服务器拒绝反向代理?

例如,我使用squid 设置了一个反向代理,网址为“www.stackoverflow.com”前面的“www.fakestackoverflow.com”。因此,每当我在 Web 浏览器地址栏中键入“www.fakestackoverflow.com”时,反向代理都会将我重定向到“www.stackoverflow.com”。然后我注意到地址栏中的 url 更改为“www.stackoverflow.com”,表明我不再通过反向代理。

“www.stackoverflow.com”一定是检测到我从另一个 url 来到该网站,然后通过实际 url 将我重定向到该网站。

How do I do something like that in ASP.NET web application?



还有 asked on server fault .

最佳答案

首先,使用 JavaScript 嗅探 document.location.href 并将其与您的域进行匹配:

var MyHostName =  "www.mydomain.com";
if (0 == document.location.href.indexOf("https://"))
{
MyHostName = "https://" + MyHostName + "/";
if (0 != document.location.href.indexOf(MyHostName)) {
var new_location = document.location.href.replace(/https:\/\/[^\/]+\//, MyHostName);

if(new_location != document.location.href)
document.location.replace(new_location);
}
}
else
{
MyHostName = "http://" + MyHostName + "/";
if (0 != document.location.href.indexOf(MyHostName)) {
var new_location = document.location.href.replace(/http:\/\/[^\/]+\//, MyHostName);

if(new_location != document.location.href)
document.location.replace(new_location);
}
}

第二 : 写一个初始化脚本到你所有的 ASP 页面来检查远程用户的 IP 地址是否与反向代理的地址匹配。如果匹配,则重定向到一个 tinyurl 链接,该链接会重定向回您的真实域。使用 tinyurl 或其他重定向服务来对抗反向代理的 url 重写。

第三 :编写一个计划任务来在假域上进行 DNS 查找,并更新第 2 步中的 init 脚本使用的配置文件。 注:不要在 ASP 中进行 DNS 查找,因为 DNS 查找可能会停止 5 秒。这为 DOS 攻击您的站点打开了一扇门。此外,不要仅根据 IP 地址进行阻止,因为这很容易重新定位。

编辑 :如果您认为代理运营商窃取了用户密码和用户名,您应该记录所有服务于代理 IP 地址的用户,并禁用他们的帐户。然后向他们发送电子邮件,说明他们是通过拼错域名遭受网络钓鱼攻击的受害者,并要求他们更改密码。

关于asp.net - 如何保护 Web 服务器免受反向代理服务器的影响,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3899292/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com