Q
塊TOR服務器
4
A
回答
6
您需要檢查用戶的IP是否在TOR出口節點DNSBL中。使用靜態出口節點列表並不是一個好主意,因爲節點會不時出現/消失,並且您可能不希望定期更新列表。
存在各種黑名單,EFNET RBL就是其中之一。請注意,它也解決了某些其他IP在某些情況下可能被認爲不可取的情況 - 如果您只是希望TOR確保忽略其他結果。
11
這裏是關於TorDNSEL https://www.torproject.org/projects/tordnsel.html.en以及如何構造查詢的更多信息。
以下是我在網上找到的可以執行動態檢查的功能。
(必須使用類似的東西)。
我不確定在較重的流量下的性能。
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];
}
0
如果需要阻斷TOR用戶ID,按照方法:
ipset -N tor iphash
得到Tor出口節點列表,可以訪問$YOUR_IP
,跳過的意見和閱讀逐行
wget
ipset -q -A tor $IP
done
過濾我們在itables一套新的過濾
iptables -A INPUT -m set --match-set tor src -j DROP.
0
Here(https://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' />
相關問題
- 1. IP地址服務器塊已結束域服務器塊
- 2. T-SQL動態鏈接服務器
- 3. T-SQL | SQL-服務器樞軸
- 4. T-SQL - SQL服務器 - 基於ID_A
- 5. ejabberd服務器mod_archive模塊
- 6. Nginx服務器塊ERR_NAME_NOT_RESOLVED
- 7. nginx的:服務器無法添加服務器塊
- 8. Node.js服務器發回EOF塊PHP服務器
- 9. 塊開發服務器窗口
- 10. 服務器塊POST但不GET請求?
- 11. 節點JS,模塊網,服務器
- 12. SQL服務器中的記錄塊ce
- 13. Asp.net服務器端代碼塊解釋
- 14. 找不到模塊啓動服務器
- 15. ,C#,服務器驗證和驗證塊
- 16. C#塊金服務器錯誤
- 17. Webpack開發服務器和css模塊
- 18. 最佳服務器控制周圍塊
- 19. 從服務器導入Active Directory模塊
- 20. 同步eWon模塊與SQL服務器
- 21. 的Nginx服務器塊排序
- 22. Python sctp模塊 - 服務器端
- 23. nginx - 所有服務器塊上的phpMyAdmin
- 24. Drupal服務模塊Json解析器
- 25. Netty 4和服務器分塊響應
- 26. 防火牆塊去開發服務器
- 27. 的NodeJS TCP服務器,昂達小塊
- 28. UDP客戶端/服務器塊
- 29. 服務器模式下的線程塊
- 30. EJB模塊中的XML-RPC服務器
偉大!我會深入調查。謝謝您的幫助。 – Maxpower 2012-04-24 08:29:57
@Maxpower,我不太清楚EFNET RBL的工作原理。網站上有下載列表的地方嗎?我沒有看到鏈接。 – 2014-05-30 23:59:45