вот конкретный пример: у меня есть ключевые слова в файле, которые при встрече в урле надо банить его, типа: porno girls pupsik.ru ... банлист я считываю в память. пришел ко мне УРЛ: www.porno.com и вот мне из банлиста надо брать "porno" и посмотреть есть ли он в урле www.porno.com если PORNO нету взять GIRLS и так далее для этого же мне надо каждое слово выдергивать из банлиста вот я хочу как можно проще выдергивать, я пока представляю только так как бежать по строке и формировать посимвольно PORNO каждый раз, но мне кажется так долго. может что проще знаете? если отрыть файл и fgets'сом то тоже долго скорость критична, CiscoPIX на обработку может много запросов передавать, и их надо все обрабатывать быстро
В память зачитай, на строчки разложи в массив и используй какого нибудь бойера-мура без учета регистра. ЗЫ: И вот из-за таких умников некоторые пользователи не могут скачать антивирусную базу с названием pornware =)
зато какая экономия трафика, там ведь и банеры можно вписать, он их тоже обрезает на асме я плохо программирую, не все знаю. на РНР я бы всё засунул в двухмерный массив и бегал по нему, на асме пока слабо представляю
У меня прокси также работал, ничего нового не придумал как промапировать файл (с эталонами) в память и искать по записям. Размер записи был фиксирован, в БД еще хранились имена файлов (с путем) на которые надо подменять, н-р увидил в заголовке: GET / HTTP 1.1 ... host www.porno.com ... А клиенту в сокет соответствующий .htm файл с соответствующей надписью Ещё можно разделить на сайты и банеры (тоже внести в БД). Проверяй сначала сайты (поиск в строке "host") Затем банеры (это в строке "GET")
готовое для CiscoPIX? если да, то готовое есть на перле, мы написали на питоне, но это всё ведь интерпритаторы, ладно еще у нас не все люди умеют в инете лазить, если начнут, скрипт загнется ----- в начале загрузки программы, открыть файл и по строкам считывать его в массив, завести переменную которая будет держать в себе количество записей в массиве. массив типа двухмерного условно по 32 символов в строке, так наверно проще будет, в самом начале притормоз а потом быстро будет работать.