約 100.000 個の IP (ブラックリストに登録済み) を含む .txt ファイルがあります。現在のユーザー IP がその .txt ファイルに存在するかどうかを確認します。存在する場合は、スクリプトの実行を停止する必要があります。
.htaccess を使用せずにこれを行う最も効率的な方法は何でしょうか。
約 100.000 個の IP (ブラックリストに登録済み) を含む .txt ファイルがあります。現在のユーザー IP がその .txt ファイルに存在するかどうかを確認します。存在する場合は、スクリプトの実行を停止する必要があります。
.htaccess を使用せずにこれを行う最も効率的な方法は何でしょうか。
$file = file_get_contents( "your_text_file.txt" );
if( preg_match( "/$ip/", $file ) ) {
// block
}
preg_match を使用してブロックする場合は、検索文字列に改行を追加し、ピリオド文字をエスケープすることをお勧めします。そうしないと、任意の 1 文字に一致するためです (ただし、これは通常のユーザーをブロックする可能性があります)。htaccess は、このクエリやデータベース クエリにも適しています。
データを保存する方法は、検索を高速化するのに役立つと思います。データをソートされた形式に保ち、二分探索のようなことを試みると、物事をより速く検索するのに役立ちます。私は理論の部分を提案しているだけです:)