有没有一种可靠的方法来获取用户的 IP,尽管他们位于代理或类似机构后面?



我已经搜索了很多,但答案并不总是很清楚。

有没有一种可靠的方法来获取用户的 IP 地址,尽管他们位于代理、tor 等后面?最好使用 ASP.NET

我无法想象像Google,Hotmail/Outlook这样的"大网站"没有一些相对可靠的方法来绕过这些东西,特别是因为它们(至少是hotmail/outlook)需要你使用Javascript。

如果有一种方法可以在用户使用好的代理或 Tor 时获取用户的真实 IP 地址,那么使用它们有什么意义呢?

  • 您可以通过检查 Tor 用户的 IP 地址是否是出口节点的 IP 地址来检测他们。没有那么多。如果不利用某些浏览器错误或希望他们使用Flash或Java,您将无法获得其实际IP地址。大多数 Tor 用户不使用任何浏览器插件并禁用 JavaScript。

  • 某些代理发送X-Forwarded-For标头,因此您可以捕获使用不良代理的用户。好的用户与普通用户没有区别,因为他们不会发送任何额外的信息。

如果您试图阻止机器人,请记住,大多数机器人只是发送和接收 HTTP 请求。它们不是浏览器。最好的办法是检测类似机器人的行为。

除非您与代理有某种关系,否则无法在代理后面揭开某人的 IP。

但是,有时HTTP代理会添加标题行"X-Forwarded"来标识真正的源IP地址。

希望这有帮助。

最新更新