确定引用URL是否在代理后面

时间:2009-09-25 06:00:19

标签: c# iis

如果您使用公共代理服务器访问whatismyipaddress.com,它将报告您的代理服务器IP,但它也会(通常)报告您正在使用代理服务器,以及许多情况下您的原始IP服务器。

它是如何做到的?

Gmail和Craigslist等类似网站也可以判断连接到它们的计算机是否也是代理服务器。

我有一个网站,其数据可以自由浏览200x /天/ ip,但我想保护它免受使用代理的人的收获。

对于如何实现这一目标的任何提示或见解表示赞赏。

1 个答案:

答案 0 :(得分:1)

请检查 this SO主题。它解释了如何做到这一点。它是标记为PHP ,但我认为的想法在这里保持不变。

**编辑:**我在此复制接受的答案以供参考:

  

TOR不提供任何服务器标头   比如X_FORWARDED_FOR,所以你最好   赌注是使用所有已知退出的列表   节点。列表可以在   https://torstat.xenobite.eu/

     

对于其他代理,您可以查看   服务器头。可能的服务器   感兴趣的标题包括:

     
      
  • HTTP_VIA
  •   
  • HTTP_X_FORWARDED_FOR
  •   
  • HTTP_FORWARDED_FOR
  •   
  • HTTP_X_FORWARDED
  •   
  • HTTP_FORWARDED
  •   
  • HTTP_CLIENT_IP
  •   
  • HTTP_FORWARDED_FOR_IP
  •   
  • VIA
  •   
  • X_FORWARDED_FOR
  •   
  • FORWARDED_FOR
  •   
  • X_FORWARDED
  •   
  • FORWARDED
  •   
  • CLIENT_IP
  •   
  • FORWARDED_FOR_IP
  •   
  • HTTP_PROXY_CONNECTION
  •   
     

在PHP中,您可以获得这些的价值   $ _SERVER []超全局中的字段。