Как вырезать? |
Итак, Вы хотите пополнить бан-листы, дабы что-то вырезать или заблокировать. В режике два типа правил: urls и pcre. |
URLS Как можно понять из названия, это урлы. Например: domen.ru или adv.domen.ru или domen.ru/baner или bs.domen.ru/cgi-bin/count.pl |
Обратите внимание, протокол (например http://) писать не нужно! Обратите внимание, слеши и прочие знаки препинания в конце и начале правила (например .domen.ru/dir/) писать не нужно! |
Кроме того, важно понимать следующее: Если Вы прописали правило www.domen.ru, то сайт banner.domen.ru вырезан не будет, а если Вы пропишите правило domen.ru, то будет вырезан и www.domen.ru и banner.domen.ru Если вы пропишите правило domen.ru/ban, то адрес domen.ru/banner вырезан не будет, а domen.ru/ban/img.gif вырезан будет. |
PCRE Это регулярные выражения perl. Нужны они для того, чтобы прописать сложные правила сравнения, которые нельзя прописать с использованием правил urls. Однако хочу Вас предостеречь - пользуйтесь ими только по необходимости. В принципе с их помощью можно прописать правила, аналогичные urls (например, аналог domen.ru будет (^|[\.\/])domen\.ru(\[\/\\]|$)), но правила pcre работают значительно медленнее правил urls (в тысячи раз) и, поэтому использовать их лучше по минимуму. С другой стороны, возьмем блокирование музыки. Например, нам надо заблокировать все файлы mp3. Вырезание их можно сделать и через urls, но тогда придется прописать все серверы в инете, где можно скачать mp3. Или можно прописать одно регулярное выражение: \.mp3([\W_]|$) |
Посмотрим, как это делается на практике. |
Режим порно: Например, мы обнаружили сайт www.superporno.ru. Для того, чтобы его заблокировать для просмотра из нашей сети, добавляем строчку в banlists/porno/urls: superporno.ru В принципе туда можно написать и: www.superporno.ru но, тогда окажется не заблокирован imgs.superporno.ru, о котором мы хотя и не знаем, но предполагаем наличие чего-то подобного. Перезапускаем squid, обновляем страницу в браузере и видим, что произошла замена: порнография заменена файлом с локального web-сервера. |
Режим банеры: Например, мы обнаружили сайт с рекламой www.pasite.ru. Для того, чтобы вырезать рекламу с этого сайта, нужно для начала узнать, откуда грузятся баннеры. Для этого удобно держать открытым лог сквиды (tail -f access.log), где пишутся все подгружаемые объекты или можно узнавать урл картинки по правому щелчку мыши. Например, один из баннеров имеет адрес: http://www.pasite.ru/adv/dsf435.gif. В принципе этот адрес можно добавить в banlists/banners/urls и именно эта картинка будет заблокирована. Но мы видим, что этот баннер лежит на сервере в папке adv, а adv - это скорее всего сокращение от advertising (реклама). Тогда мы блокируем все содержимое этой папки, добавив правило: pasite.ru/adv |
Перезапускаем squid и обновляем страницу в браузере. Отлично, пропала половина баннеров. Обязательно проверяйте работу вновь добавленных правил, так как папка adv могла в данном случае и не обозначать рекламу и, тогда бы мы заблокировали необходимую Вашим пользователям часть сайта. |
Определяем адрес одного из оставшихся баннеров: bs.pasite.ru/54356/546456/4567 Похоже этот домен (bs.pasite.ru) целиком служит для показа рекламы, а bs в данном случае - banners system (баннерная система). Добавляем правило: bs.pasite.ru перезапускаем сквид, убеждаемся, что баннеры пропали. |
УРА!! Мы вырезали всю рекламу с этой страницы сайта. Только странное дело, страница вроде как загрузилась целиком, а браузер говорит, что осталась еще одна картинка и долго так пытается ее подгрузить.. Что-то тут не так. Смотрим на access.log сквиды.. Так, браузер таки загрузил последнюю картинку, а в лог попала строчка с адресом: http://ac7.supercounter.ru/cgi-bin/script.php? Такие дела, нас считают. Где-то на странице сайта включена загрузка счетчика, который спрятали или в невидимый рисунок или в фрейм. Далее по идее надо заблокировать домен ac7.supercounter.ru, да только уж больно подозрительный домен supercounter.ru, заходим на него, убеждаемся, что это система счетчиков, и блокируем его правилом в banlists/banners/urls: supercounter.ru |
Перезапускаем сквид и радуемся быстрой загрузке сайта и отсутствию рекламы. |
Аналогично можно вырезать банеры из различных полу-бесплатных программ, посмотрев в access.log, откуда они подгружаются. |