.net - 我如何禁止整个公司访问我的网站?

标签 .net php apache

<分区>

出于我不会详细说明的原因,我希望禁止整个公司访问我的网站。使用 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/

相关文章:

.net - .net mcisendstring-使用资源而不是完整路径

php - 是否可以在变量中打印 php 变量?

php - 通过隧道的 HTML 表单 PUT 方法,我不明白的东西

.net - 创建互斥体会引发 DirectoryNotFoundException

c# - TPL 强制更高的并行度

.net - 什么是 .NET 应用程序域?

php - 在 laravel 5.1 中使用 hasManyThrough 关系的模型的不同数据库连接

php - php如何检查数据库中是否存在用户

php - 如何停止 apache 发送在 php 循环中触发的电子邮件以进行测试

apache - 动态更新 Apache 配置 "allow from IP"而不重新启动/重新加载?