由于我不打算进入的原因,我希望禁止整个公司访问我的网站.使用gethostbyaddr()检查php中的远程主机名是否有效,但这会减慢页面加载速度.大型组织(例如,hp.com或microsoft.com)通常具有IP地址块.无论如何,我得到完整列表,还是我坚持慢速反向DNS查找?如果是这样,我可以加快速度吗?
编辑:好的,现在我知道我可以使用.htaccess文件禁止范围了.现在,我怎样才能弄清楚给定组织的范围应该是什么?
.htaccess怎么样:
Deny from x.x.x.x
如果你需要拒绝一个范围说:192.168.0.x然后你会使用
Deny from 192.168.0
这同样适用于主机名:
Deny from sub.domain.tld
或者如果你想要一个PHP解决方案
$ips = array('1.1.1.1', '2.2.2.2', '3.3.3.3'); if(in_array($_SERVER['REMOTE_ADDR'])){die();}
有关htaccess方法的更多信息,请参阅此页面.
现在确定范围将会变得困难,大多数公司(除非他们是大型公司)将拥有像你我一样的动态IP.
这是我以前必须处理的一个问题,最好的事情是禁止主机名,或者整个范围,例如,如果它们在192.168.0.123然后禁止192.168.0.123,不幸的是你会得到一些两种方法无辜的人.