У меня есть .txt-файл, содержащий около 100 000 IP-адресов (черный список). Я хочу проверить, присутствует ли текущий IP-адрес пользователя в этом TXT-файле, если да, то выполнение сценария должно прекратиться.
Какой был бы самый эффективный способ сделать это без использования .htaccess.
$file = file_get_contents( "your_text_file.txt" ); if( preg_match( "/$ip/", $file ) ) { // block }
Если вы собираетесь блокировать использование preg_match, вы можете добавить новую строку в строку поиска и избежать символов периода, потому что иначе они будут соответствовать любому одиночному символу (как бы маловероятно, это может блокировать обычных пользователей). Htaccess намного лучше подходит для этого или даже запроса базы данных.
Я думаю, что способ, которым вы собираетесь хранить данные, поможет вам быстрее искать. Хранение данных в отсортированном формате, а затем попытка выполнить двоичный поиск, поможет вам быстрее искать вещь. Я просто предлагаю часть теории 🙂