首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用Apache2或iptables拒绝没有反向DNS的IP?

如何用Apache2或iptables拒绝没有反向DNS的IP?
EN

Server Fault用户
提问于 2010-07-31 10:59:57
回答 4查看 1.8K关注 0票数 0

对于Apache2,或者iptables,如果他们的IP没有反向DNS或者根本没有解析,有没有一种拒绝访问者的方法?

我有一个网站针对特定的人群谁有有效的反向DNS。一些垃圾邮件发送者和黑客谁没有反向DNS过来,并试图垃圾邮件/黑客我的网站。

他们被我的垃圾邮件拦截者拒绝/拒绝,但我仍然想阻止他们访问我的网站。

EN

回答 4

Server Fault用户

回答已采纳

发布于 2010-07-31 11:55:59

您可以轻松地使用php或您最喜欢的语言(对于php http://php.net/manual/en/function.gethostbyaddr.php)。也许,如果您通过检查访问客户端的反向DNS状态来批准它们,那么您将以类似于普通用户名/密码登录的方式“登录它们”。

通常,.htaccess文件或iptables可能是一个更好的解决方案,但由于您有一个非常特殊的请求,您可能需要脚本语言的灵活性。

票数 0
EN

Server Fault用户

发布于 2010-07-31 13:24:50

由于DNS查询速度慢,我不会在Apache级别上这样做。

相反,我会在窗帘后面这样做。例如,放置一些自写shell/perl脚本来跟踪Apache访问日志,执行dns查询,如果查询失败,只需将ip地址添加到(临时)禁止列表中即可。如果您不愿意为自己编写一些Perl,那么您可能可以用fail2ban来完成这个任务。

不管怎样,小心点!即使是一些合法的访问者也可能没有可解析的dns名称。

票数 5
EN

Server Fault用户

发布于 2010-07-31 14:50:52

一些人指出,由于DNS解析速度慢,这通常是一个不好的主意。但是,如果您想这样做,您可以使用mod_access:

http://httpd.apache.org/docs/2.0/mod/mod_access.html

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/165847

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档