阻止TOR服务器

时间:2012-04-24 08:21:11

标签: php apache module centos tor

我需要一个阻止TOR serversphp的脚本...我需要获取服务器列表并阻止它们。

或者,在服务器上安装的任何解决方案(centos)。

4 个答案:

答案 0 :(得分:11)

以下是有关TorDNSEL https://www.torproject.org/projects/tordnsel.html.en以及如何构建查询的更多信息。

以下是我在网上找到的可以执行动态检查的功能。

https://check.torproject.org/必须使用类似的东西)。

我不确定在较重的流量下的表现。

function IsTorExitPoint(){
if (gethostbyname(ReverseIPOctets($_SERVER['REMOTE_ADDR']).".".$_SERVER['SERVER_PORT'].".".ReverseIPOctets($_SERVER['SERVER_ADDR']).".ip-port.exitlist.torproject.org")=="127.0.0.2") {
return true;
} else {
return false;
} 
}
function ReverseIPOctets($inputip){
$ipoc = explode(".",$inputip);
return $ipoc[3].".".$ipoc[2].".".$ipoc[1].".".$ipoc[0];
}

答案 1 :(得分:6)

您需要检查用户的IP是否在TOR退出节点DNSBL中。使用静态出口节点列表不是一个好主意,因为节点会不时出现/消失,您可能不希望定期更新列表。

存在各种黑名单,EFNET RBL就是其中之一。请注意,它还解决了在某些情况下可能被认为不合需要的其他IP - 如果您只是希望TOR确保忽略其他结果。

答案 2 :(得分:0)

如果需要阻止TOR用户ID,请按照以下方法操作:

ipset -N tor iphash

获取可以访问$YOUR_IP的Tor出口节点列表,跳过评论并逐行阅读

wget 

ipset -q -A tor $IP

done

在itables过滤器中过滤我们的新设置

iptables -A INPUT -m set --match-set tor src -j DROP.

答案 3 :(得分:0)

Herehttps://github.com/RD17/DeTor)是一个简单的REST API,用于确定请求是否来自TOR网络。我认为从PHP

中使用它会非常简单

请求是: curl -X GET http://detor.ambar.cloud/

回应是 { "sourceIp": "104.200.20.46", "destIp": "89.207.89.82", "destPort": "8080", "found": true }

作为奖励,您可以为您的网站添加徽章,以检测用户是否来自TOR:

<img src='http://detor.ambar.cloud/badge' />