是否可以阻止Tor用户?(https://www.torproject.org/)
由于我运行的网站的性质,我应该尽我所能阻止多个帐户并阻止某些位置.Tor比代理人更糟糕 - 一场噩梦......
小智 39
由于退出IP地址列表已知并已发布,因此Tor比其他开放代理更容易阻止.请阅读https://www.torproject.org/docs/faq-abuse.html.en#Bans上的答案,如果您仍想阻止用户访问您的网站,您可以使用https://www.torproject.org/ projects/tordnsel.html.en或批量退出列表导出工具.
如果您使用批量退出列表导出工具,请务必经常获取新的列表,并且因为IP地址列表更改而使旧块过期.
Onl*_*job 18
阻止Tor是错误的,因为(ab)用户和IP地址不相同.通过阻止Tor,您还将阻止使用保守退出策略配置的合法用户和无害的受限Tor退出节点.
例如,如果您担心对SSH(端口22)的攻击,那么仅阻止Tor将无助于提高安全性.您真正需要的是动态同步黑名单,如http://denyhosts.sourceforge.net/,跟踪违规者无视他们与Tor的关系.
Denyhosts将自动阻止Tor退出节点,这些节点允许Tor访问端口22,而不会不必拒绝访问Tor出口节点的匿名用户和操作员,这些节点永远不会让违规者攻击您的SSH服务.
小智 6
在.NET中,它是可能而且简单的.我在我的网站上实现了它.
假设您的站点的外部IP地址为192.168.0.5,以供参数使用.发布时的真实TOR IP地址:95.215.44.97
Imports System.Net
Imports System.Net.Sockets
Imports System.Web
Private Function IsTorExitNode(sIP As String) As Boolean
' Reverse your IP (97.44.215.95) then pass to the string, I have just created it as one for this example
Try
Dim strTor As String = "97.44.215.95.80.5.0.168.192.ip-port.exitlist.torproject.org"
Dim host As IPHostEntry = Dns.GetHostEntry(strTor)
If host.AddressList.Length = 0 Then
Return False
Else
If host.AddressList(0).ToString() = "127.0.0.2" Then
Return True
Else
Return False
End If
End If
Catch ex As SocketException
Return False
End Try
End Function
Run Code Online (Sandbox Code Playgroud)
反向IP地址:97.44.215.95
端口:80
反向IP地址 :(您的外部站点IP地址)
如果地址是TorExitNode,它将返回127.0.0.2.
在Global.asax文件中,您可以使用Application_Start检查IP地址是否返回true,然后将其重定向到您的站点:
If IsTorExitNode("97.44.215.95") = True Then Response.Redirect("http://www.google.co.uk")
Run Code Online (Sandbox Code Playgroud)
现在,只要他们访问您的网站,他们就会被重定向到远离它的位置.
TOR有一个IP地址列表,但显然它们一直在变化,所以使用我的函数将是最好的方式,因为它总是实时的.