2010-04-27 50 views
4

有什么方法可以使用PHP代码来查询DNSBL(阻止列表)提供程序,并找出提交的IP地址是否是一个坏的参与者?使用PHP查询DNSBL或其他阻止列表

我想从注册数据库中取出一个现有的IP地址,然后通过执行查找来检查它是否是已知的列出IP地址,如果它列入黑名单,请对其执行操作(例如作为,从注册数据库删除条目)。

我所看到的大多数指令都假设您正在尝试通过邮件服务器查询阻止列表,这是我无法做到的。我试着通过输入诸如“58.64.xx.xxx.dnsbl.sorbs.net”之类的查询通过网络浏览器进行查询,但没有奏效。

回答

4

有一堆PHP手册此实例,可以开始此评论

http://www.php.net/manual/en/function.checkdnsrr.php#72297

+0

感谢领导!我能够工作的是名为“is_blacklisted($ ip)”的函数。如果您使用它,则需要更新以包含当前的DNSBL服务器(列出的三个中的一个已停用)。我更新了我的列表以包括(到目前为止)24个DNSBL服务器,并且我计划跟踪哪些垃圾邮件发送者会获得“真正的积极”结果,并删除那些对我无用的信息。到目前为止,一些有前途的包括blackholes.five-ten-sg.com,dnsbl-3.uceprotect.com,web.dnsbl.sorbs.net和b.barracudacentral.com。 – 55skidoo 2010-04-27 20:20:01

+0

PS。这是评估DNSBL的好地方:http://www.dnsbl.info/dnsbl-database-check.php – 55skidoo 2010-04-27 20:21:23