Intereting Posts
Создание системы заказа и проверки, защищающей от изменения корзины во время оплаты Добавьте <a> к каждому слову внутри <h3> Как реализовать функцию помнить меня? Как включить несколько моделей в одно представление для компонента Joomla 3.x, созданного с помощью Component Creator Перестроить индекс массива Eloquent Laravel Обновление MySQL с использованием PDO и подготовленный оператор не работает Проверка JavaScript AJAX загруженных ресурсов с помощью Mink / Zombie в PHP? Исключить папки из рекурсии в рекурсивном каталоге iterator php как проверить, является ли дата за три дня до сегодняшнего дня Приоритет оператора concat и идентификатора float '.' (T_CONSTANT_ENCAPSED_STRING, T_DNUMBER) Силовой браузер для загрузки изображения с помощью javascript window.open? Как проверить, если пользователь выбрал файл для загрузки? Какая была ваша любимая функция, которая была введена в PHP 5.3? Laravel 4.2 Сессионный стол не очищается Невозможно изменить «userModel» с помощью AuthComponent в CakePHP

Сравнение пользовательского IP-файла с содержимым файла .txt

У меня есть .txt-файл, содержащий около 100 000 IP-адресов (черный список). Я хочу проверить, присутствует ли текущий IP-адрес пользователя в этом TXT-файле, если да, то выполнение сценария должно прекратиться.

Какой был бы самый эффективный способ сделать это без использования .htaccess.

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

Если вы собираетесь блокировать использование preg_match, вы можете добавить новую строку в строку поиска и избежать символов периода, потому что иначе они будут соответствовать любому одиночному символу (как бы маловероятно, это может блокировать обычных пользователей). Htaccess намного лучше подходит для этого или даже запроса базы данных.

Я думаю, что способ, которым вы собираетесь хранить данные, поможет вам быстрее искать. Хранение данных в отсортированном формате, а затем попытка выполнить двоичный поиск, поможет вам быстрее искать вещь. Я просто предлагаю часть теории 🙂