【发布时间】:2013-03-04 10:53:20
【问题描述】:
让我通过给你一个例子来解释我会做什么。假设我们想要 阻止(禁用或隐藏)我们的一些网站脚本给来自特定国家的用户 我可以从here 获取该国家/地区的 IP 列表。这给了我IP范围的形式 aa.bb.cc.0/33 kk.ss.yy.0/24 等等
但是,我正在寻找比较访问者的 ip 与 PHP 中列表的最快方法。 我应该将该列表存储在文件中吗?还是 ips 必须存储在数据库中?
如果我使用 .htaccess 的拒绝命令,我已完全阻止用户访问我们的任何网站。因此,我必须在 PHP 中进行,因为我有更多的灵活性。 我所做的是将这些IP范围存储在一个文件中,并且每次将用户的IP与文件中的IP进行比较。但我的印象是这不是一个最好的主意。请让我知道最快的方法是什么以及如何。谢谢
【问题讨论】:
-
如果可以通过适当的服务器配置完成此操作,为什么还要使用 PHP?
-
如果您想要快速并发查找,使用普通文件将很难获得。
-
@raina77ow 我不喜欢在服务器配置中这样做的原因:1-我想在我的代码中根据它做出决定。即在 php 代码的 if-else 块中使用它来禁用某些功能或启用其他一些功能 2-我的文件托管在共享服务器中,我无法完全控制参数