对于Apache2,或者iptables,如果他们的IP没有反向DNS或者根本没有解析,有没有一种拒绝访问者的方法?
我有一个网站针对特定的人群谁有有效的反向DNS。一些垃圾邮件发送者和黑客谁没有反向DNS过来,并试图垃圾邮件/黑客我的网站。
他们被我的垃圾邮件拦截者拒绝/拒绝,但我仍然想阻止他们访问我的网站。
发布于 2010-07-31 11:55:59
您可以轻松地使用php或您最喜欢的语言(对于php http://php.net/manual/en/function.gethostbyaddr.php)。也许,如果您通过检查访问客户端的反向DNS状态来批准它们,那么您将以类似于普通用户名/密码登录的方式“登录它们”。
通常,.htaccess文件或iptables可能是一个更好的解决方案,但由于您有一个非常特殊的请求,您可能需要脚本语言的灵活性。
发布于 2010-07-31 13:24:50
由于DNS查询速度慢,我不会在Apache级别上这样做。
相反,我会在窗帘后面这样做。例如,放置一些自写shell/perl脚本来跟踪Apache访问日志,执行dns查询,如果查询失败,只需将ip地址添加到(临时)禁止列表中即可。如果您不愿意为自己编写一些Perl,那么您可能可以用fail2ban来完成这个任务。
不管怎样,小心点!即使是一些合法的访问者也可能没有可解析的dns名称。
发布于 2010-07-31 14:50:52
一些人指出,由于DNS解析速度慢,这通常是一个不好的主意。但是,如果您想这样做,您可以使用mod_access:
http://httpd.apache.org/docs/2.0/mod/mod_access.html
https://serverfault.com/questions/165847
复制相似问题