#!/usr/bin/perl use POSIX qw(strftime); $| = 1 ; $poisk="/usr/local/etc/porno"; # список слов плохих выражений в поисковых машинах эдакий SAFE ха-ха ;-)) $html="http://192.168.4.1/safeinternet.html";# страничка, запрета доступа # Читаем список слов для подмены плохих выражений в поиске if (-e "$poisk") {open (POISK,"$poisk") or die; chomp(@poisk=); close (POISK);} # Цикл редиректа собственной персоной #print"Начало редиректинга .... \n"; while(chomp($url=<>)) # запись данных переданных Squid в переменную $url { # скобка начала редиректа @mass = split(/ /, $url); # разделение строки на 4 части и запись её в массив $url=$mass[0]; $ip=$mass[1]; $ident=$mass[2]; $met=$mass[3]; $find=$url; #________________________________автоопределение utf кодировки в словах с длиной от 3 букв включительно. if($find=~/%D0%(..)%D0%(..)%D0%(..)/){& Utf8;} elsif($find=~/%D0%(..)%D0%(..)%D1%(..)/){& Utf8;} elsif($find=~/%D0%(..)%D1%(..)%D1%(..)/){& Utf8;} elsif($find=~/%D1%(..)%D1%(..)%D1%(..)/){& Utf8;} elsif($find=~/%D0%(..)%D1%(..)%D0%(..)/){& Utf8;} elsif($find=~/%D1%(..)%D1%(..)%D0%(..)/){& Utf8;} elsif($find=~/%D1%(..)%D0%(..)%D0%(..)/){& Utf8;} elsif($find=~/%D1%(..)%D0%(..)%D1%(..)/){& Utf8;} elsif($find=~/%D1%(..)%D1%(..)%D1%(..)/){& Utf8;} else{& Win1251;} $find=~s/%20/ /g; $find=~s/\+/ /g; use encoding 'utf8'; $find = lc($find); for($i=0;$i