如何使用AWS的私有/负载均衡器ips使用TOR broswer检测用户

时间:2018-01-24 14:05:20

标签: php amazon-web-services tor

我使用了链接中的以下代码来检测浏览器是否为TOR。

Code

但是当服务器托管在AWS上时,我们没有得到确切的 $ _ SERVER ['SERVER_ADDR'] ,因为AWS正在提供机器或负载均衡器ips的私有ip。

那么有没有办法从TOR出口列表中检测AWS私有ips,以检测用户是否正在使用TOR浏览器。

1 个答案:

答案 0 :(得分:2)

首先要使代码正常工作,您必须获得实际的客户端IP。该数据通过x-forwarded-for标题发送给您的客户:

来自HTTP Headers and Classic Load Balancers

  

X-Forwarded-For请求标头可帮助您识别IP地址   使用HTTP或HTTPS负载均衡器时的客户端。因为负载   平衡器拦截客户端和服务器,服务器之间的流量   访问日志仅包含负载均衡器的IP地址。查看   客户端的IP地址,使用X-Forwarded-For请求标头。   Elastic Load Balancing将客户端的IP地址存储在   X-Forwarded-For请求标头并将标头传递给您的服务器。

有关如何检测Tor出口节点的更多信息,请参阅Tor DNS Exit List

  

由于各种原因确定连接是否有用   来自Tor节点。早期尝试确定是否给定IP   地址是一个Tor出口使用该目录来匹配IP地址和   退出政策。这种方法有许多缺点,包括   Tor路由器退出来自不同IP的流量时出现漏报   地址比其OR端口监听。基于Tor DNS的退出列表是   旨在克服这些问题并提供简单的界面   回答这个问题:这是一个Tor出口吗?