url vs pcre?

Обсуждение программы редиректора
Ответить
Kotovsky
Сообщения: 41
Зарегистрирован: Вт май 18, 2004 15:48

url vs pcre?

Сообщение Kotovsky »

Есть несколько вопросов, вполне обсуждаемых.

В чём смысл файлов url? Ведь вполне можно функционал этих файлов поместить в pcre.
Пример:
очень много всякого amateure.
Я бы поместил подобную строку amateure.*(pussy|teens|wife|girls).
Строки с girls там нет, ok. Но она ведь может быть? и 99% что этот сайт будет с порно контентом.
Идём дальше.
можно добавлять следующим образом:
amateure.*(ass|babe|pussy|teens|wife|girls|connection).*
и так далее. Это ОЧЕНЬ сократит список.

И еще мысли по списку запретов.
Просто банить слова sex, teen и xxx, с моей точки зрения, неверно. Это могут быть части других слов или вполне нормальных названий. А подобные ложноположительные срабатывания и запреты раздражают пользователей и, как следствие, техническую службу организации.

Очень огорчило наличие в черном списке простого имени Светлана. :cry: Убрал, разумеется. :lol:

Всё поправляемо, согласен. Очень хотелось бы увидеть мнения своих коллег и уважаемого автора.
Alexey

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Смысл urls в их большой скорости работы и точности попадания.
В них обязательно должен быть домен второго уровня, по этим доменам строится бинарное дерево, что позволяет значительно ускорить поиск.

А регулярные выражения, это как небольшие программы.
В качестве исходных данных им передается url, а в ответ получаем "да" или "нет"
Иначе говоря для поиска на соответствие регулярным выражением надо перебрать высь наш список правил, что долго.
Например, если у нас список из 1000 правил, то для urls надо сделать ~11 проверок, а для pcre 1000 проверок.
Кроме того, проверки urls происходят быстрее чем проверки pcre.

Конечно можно составлять длинные правила pcre типа: amateure.*(ass|babe|pussy|teens|wife|girls|connection).*
но чем сложнее будет правило pcre, тем медленнее оно будет работать.

И опять же, регулярные выражения вызывают ложные сработки. Можно усложнять регулярные выражения, для уменьшения ложников, но все равно где нить да выплывет.

Пример: заблокируйте файлы .mpg и попробуйте зайти на www.mpg.ru

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

Хотя Вам конечно никто не мешает прописывать какие угодно правила. Вопрос лишь в скорости и точности работы.

Kotovsky
Сообщения: 41
Зарегистрирован: Вт май 18, 2004 15:48

Сообщение Kotovsky »

Я так и предполагал, что вопрос в скорости. Но порой есть сайты совершенно нормальные, просто хостинг, возможно бесплатный.
Очень много таких попадает в черный список. Это печально.

Поэтому мучаюсь, но пишу regex. :lol:
Особенно касается банеров. И их сетей. Я не против чтобы люди посещали рекламируемые сайты. И не против чтобы люди посещали сами сайты банерных систем: какой здесь криминал?
Но их реклама - лишний трафик и скорость канала.

Касательно предложенной блокировки файлов. В предложенном примере из дистрибутива именно так и происходит. :(

Я использую следующий способ:
\.exe$
\.zip$
\.arj$
\.rar$
\.iso$
\.pif$
\.lha$
\.uc2$
\.ace$
\.zoo$
\.tgz$
\.tar$
\.bz2$
\.tar\.gz$
\.scr$

К слову, хотелось бы узнать как автор и коллеги относятся к к этому способу.
Alexey

Slava
Site Admin
Сообщения: 2251
Зарегистрирован: Пт апр 02, 2004 12:34
Контактная информация:

Сообщение Slava »

Вы блокируете урл, если он заканчивается на .exe
Это очень просто обойти, добавив дополнительный параметр:
http://domen/dir/file.exe?lala
А чаще всего и добавлять ничего не придется, так как закачка уже идет с каким-нибудь file.exe?nocahe=234324

я сейчас использую конструкцию вида: \..+\/.+\.mpg([\W_]|$)
хотя вряд ли она идеальна.

Kotovsky писал(а): Касательно предложенной блокировки файлов. В предложенном примере из дистрибутива именно так и происходит. :(

Я использую следующий способ:
\.exe$
\.zip$
...
К слову, хотелось бы узнать как автор и коллеги относятся к к этому способу.

Ответить