<分区>
出于我不会详细说明的原因,我希望禁止整个公司访问我的网站。使用 gethostbyaddr() 检查 php 中的远程主机名是可行的,但这会大大降低页面加载速度。大型组织(例如 hp.com 或 microsoft.com)通常有 IP 地址 block 。无论如何我得到了完整的列表,还是我坚持使用缓慢的反向 DNS 查找?如果是这样,我可以加快速度吗?
编辑:好的,现在我知道我可以使用 .htaccess 文件来禁止范围。现在,我如何确定给定组织的范围应该是多少?
<分区>
出于我不会详细说明的原因,我希望禁止整个公司访问我的网站。使用 gethostbyaddr() 检查 php 中的远程主机名是可行的,但这会大大降低页面加载速度。大型组织(例如 hp.com 或 microsoft.com)通常有 IP 地址 block 。无论如何我得到了完整的列表,还是我坚持使用缓慢的反向 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 方法的更多信息,请参阅 this页面。
现在确定范围会很困难,大多数公司(除非他们是大公司)都会像你我一样拥有一个动态 IP。
这是我之前不得不处理的问题,最好的办法是禁止主机名或整个范围,例如,如果它们在 192.168.0.123 上,则禁止 192.168.0.123,不幸的是你会得到一些无辜的人用这两种方法。
关于.net - 我如何禁止整个公司访问我的网站?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/89480/