Страница 1 из 1

блокировка ip pcre

Добавлено: Вт апр 12, 2011 19:42
vesla
доброго времени суток
подскажите, пожалуйста, как блокировать url такого типа:
http://0x5f.0xa9.0xbc.0xe7/
http://0137.0251.0274.0347/
http://0x5f.0xa9.0274.0347/
http://95.0xa9.0274.0347/
..

Re: блокировка ip pcre

Добавлено: Ср апр 13, 2011 7:52
Slava
Регулярными выражениями, что-то вроде:
/\:\/\/((0x\w+)|\d+)\.((0x\w+)|\d+)+.((0x\w+)|\d+)+.((0x\w+)|\d+)+\//

PS: ip адреса под это правило тоже попадут, если нужно без ip, то сообщите разницу.

Re: блокировка ip pcre

Добавлено: Ср апр 13, 2011 17:07
vesla
спасибо, но не работает Ваше правило..
у меня стояла блокировка по просто ip вот таким правилом
(^|\:\/\/)\d+\.\d+\.\d+\.\d+
все работало, сейчас Ваше еще поставил, в итоге оно не рабоатет ни на один пример из того что привел..
сейчас в банлисте по ip всего 2 правила
/\:\/\/((0x\w+)|\d+)\.((0x\w+)|\d+)+.((0x\w+)|\d+)+.((0x\w+)|\d+)+\//
(^|\:\/\/)\d+\.\d+\.\d+\.\d+
второе работает, пробовал оставить только Ваш пример, результата нету..

Re: блокировка ip pcre

Добавлено: Ср апр 13, 2011 23:58
maksnl
vesla писал(а):спасибо, но не работает Ваше правило..
Попробуйте такое правило:

Код: Выделить всё

((0x\w+)|\d+)\.((0x\w+)|\d+)\.((0x\w+)|\d+)\.((0x\w+)|\d+)
У меня срабатывает на все преведенные Вами примеры, сразу предупрежу я не спец в pcre, поэтому советую проследить за темой может меня ктонить поправит.
И еще, правило "(^|\:\/\/)\d+\.\d+\.\d+\.\d+" наверно лучше удалить из списка т.к. выше представленное тоже будет блокировать ipv4 адреса

Re: блокировка ip pcre

Добавлено: Чт апр 14, 2011 1:25
vesla
угу, так завелось, спасибо

Re: блокировка ip pcre

Добавлено: Чт апр 14, 2011 11:45
maksnl
Я наверное сам себя поправлю:

Код: Выделить всё

(^|\:\/\/)((0x\w+)|\d+)\.((0x\w+)|\d+)\.((0x\w+)|\d+)\.((0x\w+)|\d+)
так избавимся от (возможных) ложных срабатываний.

PS. А вобще Ваш squid нормально обрабатывал такие урлы? я на 3-х пробовал и все обрабатывали урл не как ip адрес а как домен, ну и естественно вылетала ошибка.