0

我有一个 .txt 文件,其中包含大约 100.000 个 IP(列入黑名单),我想检查当前用户 IP 是否存在于该 .txt 文件中,如果是,则脚本执行应该停止。

在不使用 .htaccess 的情况下,最有效的方法是什么。

4

2 回答 2

1
$file = file_get_contents( "your_text_file.txt" );
if( preg_match( "/$ip/", $file ) ) {
  // block
}

如果您要使用 preg_match 进行阻止,您可能需要在搜索字符串中添加换行符并转义句点字符,因为否则它们将匹配任何单个字符(但不太可能,这可能会阻止普通用户)。Htaccess 更适合这个甚至是数据库查询。

于 2013-03-27T18:54:10.643 回答
0

我认为您存储数据的方式将帮助您更快地查找。将数据保持为排序格式,然后尝试进行二进制搜索之类的事情可以帮助您更快地搜索事物。我只是建议理论部分:)

于 2013-03-27T18:56:19.810 回答