Форумы Форум www.proxomitron.ru
Все о программе Proxomitron
Главная  • FAQ для форума  •  Поиск  •  Пользователи  •  Группы   •  Регистрация  •  Профиль  •  Личные сообщения  •  Вход
 Фильтр Content'а
 Сайт -> Форумы » Фильтры
Следующая тема
Предыдущая тема

Новая тема  Ответить
Автор Сообщение
Badej
Newbee
Newbee


Зарегистрирован: 17.11.2004
Сообщения: 4

СообщениеДобавлено: Вс, Ноя 21 2004 02:04 Цитировать |  |  | 

Ни кто не задавался целью сделать Content-фильтр (что-то вроде Cobion)?
Проксимитрон проверяет контент страницы на предмет повторения определенного количества раз слов из блок-листа.
Например:
Количество повторов - 6
$LST(Deny) (sex, porno, girl ...)
Действие: рвать соединение или редирект на http://192.168.0.1/web/deny.html


Для НАТа было бы актуально, да и для прокси. В большинстве они блокируют доступ, если есть соответствие в URL, но не в контенте. Либо ставить какую-нибудь софтину, наподобии IPProtect. Похожий вариант для SQUID - squidGuard (позволяет ограничить доступ некоторых пользователей к указанным веб серверам, указывать черный список серверов, слов и регулярных выражений. Переадресовывает заблокированные URL, незарегистрированных пользователей к форме и т.д. ).

Или такое средствами Проксимитрона сделать в принципе невозможно ???
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2626
Откуда: SPb

СообщениеДобавлено: Пн, Ноя 22 2004 10:50 Цитировать |  |  | 

Badej
"В принципе" возможно. Но большинство пользователей Прокса (читай авторов фильтров) настраивают его под себя, так что лишние запреты тут ни к чему. Да и работают такие фильтры очень криво: выдаёт тебе страница "Access denied", а ты ломай голову, что там не понравилось. Например, убьются такие топики форумов, как этот, где порно-контента нет, но он обсуждается.

В общем, если очень надо, сделать можно. Логика примерно такая:
Код:
Name    = "Denied words counter [ALX]"
Match    = "$LST(Deny) $SET(denied=$GET(denied)1) $TST(denied=[1]+{6,*})"
Replace = "<script>document.location="http://Local.ptron/deny.html";</script>"

Код:
Name    = "Denied words redirector [ALX]"
Match = "<end> $TST(denied=[1]+{6,*})"
Replace = "<script>document.location="http://Local.ptron/deny.html";</script>\k"

Первый фильтр отслеживает матчи и заполняет переменную denied единичками по числу совпадений. Затем проверяется, не набралось ли их достаточно, и вставляется скрипт редиректа. Вообще-то надо бы проверять страницу полностью до выдачи её клиенту, чтобы нормальный редирект делать ($RDIR())..

Но т.к. это не получается, второй фильтр дополнительно (для уверенности) вставляет скрипт редиректа в конец страницы. В первом можно вообще ничего не заменять (мало ли куда оно попадёт: в alt="" или в href=""..), хотя если всё равно страница "плохая", то испортить её не страшно.

Кстати, не знаю, будет ли \k работать в веб-фильтрах (а если будет -- можно ли его поставить в первый фильтр и не сбросить переменную denied). Проверишь -- расскажи ;)
К началу Профиль Сообщение
Badej
Newbee
Newbee


Зарегистрирован: 17.11.2004
Сообщения: 4

СообщениеДобавлено: Пн, Ноя 22 2004 21:33 Цитировать |  |  | 

Спасибо, обязательно проверю.
К началу Профиль Сообщение
Partyzan
Platinum Member
Platinum Member


Зарегистрирован: 15.02.2005
Сообщения: 319

СообщениеДобавлено: Ср, Фев 16 2005 17:57 Цитировать |  |  | 

Круто!

А я-то все мучился, как здесь IF-ELSE реализовать :-)
К началу Профиль Сообщение
Sovdep
Гость





СообщениеДобавлено: Вт, Окт 18 2005 12:42 Цитировать |  |  | 

chAlx писал(а):
Badej
Да и работают такие фильтры очень криво: выдаёт тебе страница "Access denied", а ты ломай голову, что там не понравилось.


Блокировать всю страницу это совсем не правильно. Такой тупой фильтр есть в OutPoste, есть в Kerio, но никто им непользуется.

В простом случае достаточно только вырезать badwords из текста. Чуть сложнее, но зато гораздо эффективнее вырезать целиком "плохой" абзац из текста или заменять плохую ячейку в таблице. И только если слишком много паскудных слов, вот тогда можно блокировать страницу целиком. Но такой "взвешивающий" фильтр это, наверное, высший пилотаж проксомитрона?!
К началу
Partyzan
Platinum Member
Platinum Member


Зарегистрирован: 15.02.2005
Сообщения: 319

СообщениеДобавлено: Ср, Окт 19 2005 00:27 Цитировать |  |  | 

Кстати, а там переполнения нигде не может случиться?
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2626
Откуда: SPb

СообщениеДобавлено: Ср, Окт 19 2005 10:15 Цитировать |  |  | 

Partyzan

Там -- нет.
К началу Профиль Сообщение
Partyzan
Platinum Member
Platinum Member


Зарегистрирован: 15.02.2005
Сообщения: 319

СообщениеДобавлено: Ср, Мар 15 2006 12:51 Цитировать |  |  | 

Насчет последнего сообщения - я был неправ, ведь при шестой единичке уже идет редирект. А вообще интересно, сколько символов выдержит переменная и что случится при этом.

Сейчас зашел посмотреть на реализацию, интересный путь создания if-else
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2626
Откуда: SPb

СообщениеДобавлено: Ср, Мар 15 2006 19:02 Цитировать |  |  | 

Partyzan писал(а):
Сейчас зашел посмотреть на реализацию, интересный путь создания if-else

Да я вижу, ты каждый год заходишь ;)

Но в смысле переполнения, наверно, надо-таки $STOP() вставить в Replace первого фильтра.

А вообще так уж получилось, что интересный по реализации вопрос мало кому интересен сам по-себе. Надо для чего-нибудь более полезного такой счётчик попробовать.
К началу Профиль Сообщение
cooler
Гость





СообщениеДобавлено: Вс, Фев 24 2008 11:22 Цитировать |  |  | 

решил замутить но ничего неполучается Sad неработает ваще никак уже дошел методом упрощения до

Код:

In = TRUE
Out = FALSE
Key = "Denied words counter [ALX]"
Match = "(porno)"
Replace = \k"


подскажите, плизз, в чем трабла.
К началу
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2626
Откуда: SPb

СообщениеДобавлено: Вс, Фев 24 2008 11:35 Цитировать |  |  | 

cooler:

Так надо не заголовочный фильтр делать, а контентный (кнопка Web page).
К началу Профиль Сообщение
cooler
Гость





СообщениеДобавлено: Вс, Фев 24 2008 15:20 Цитировать |  |  | 

спасибо, chAlx, получилось !!! Smile

з.ы.а русские слова почему-то невидит, может с кодировкой что-то надо делать ?
К началу
Alex Qwerty
Gold Member
Gold Member


Зарегистрирован: 20.07.2007
Сообщения: 205

СообщениеДобавлено: Вс, Фев 24 2008 16:57 Цитировать |  |  | 

Русские слова - в круглые скобки, в той же кодировке, что и на странице (ищи ее в кеше браузера).
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2626
Откуда: SPb

СообщениеДобавлено: Вс, Фев 24 2008 23:28 Цитировать |  |  | 

cooler:

С русским Прокс не очень дружит, так что надо изгаляться, как советует Alex Qwerty, плюс учитывать, что строчные/прописные буквы придётся указывать вручную. И лучше перенести такую обработку в отдельный блокфайл.
К началу Профиль Сообщение
cooler
Гость





СообщениеДобавлено: Пн, Фев 25 2008 02:43 Цитировать |  |  | 

а каким образом в одном тхт файле написать слово в разных кодировках ? или создать несколько одинаковых блоклистов с разными кодировками ?

з.ы. сорри если что нетак понимаю
К началу
Alex Qwerty
Gold Member
Gold Member


Зарегистрирован: 20.07.2007
Сообщения: 205

СообщениеДобавлено: Пн, Фев 25 2008 15:04 Цитировать |  |  | 

Найди редактор, знающий нужные кодировки. Я обхожусь Far'овским.
К началу Профиль Сообщение
chAlx
Moderator
Moderator


Зарегистрирован: 30.06.2004
Сообщения: 2626
Откуда: SPb

СообщениеДобавлено: Пн, Фев 25 2008 19:41 Цитировать |  |  | 

cooler:

Если очень хочется, можно так прямо и написать в разных:
Код:
(реклама|ТЕЛМБНБ|@5:;0<0)
К началу Профиль Сообщение
cooler
Гость





СообщениеДобавлено: Вт, Фев 26 2008 14:04 Цитировать |  |  | 

спасибо ! разобрался, все работает !!! Smile
К началу
SnaPPeR
Newbee
Newbee


Зарегистрирован: 07.05.2008
Сообщения: 2

СообщениеДобавлено: Чт, Май 08 2008 10:51 Цитировать |  |  | 

Alex Qwerty писал(а):
Найди редактор, знающий нужные кодировки. Я обхожусь Far'овским.


Как в нём кодироку менять Question Embarassed
К началу Профиль Сообщение
Alex Qwerty
Gold Member
Gold Member


Зарегистрирован: 20.07.2007
Сообщения: 205

СообщениеДобавлено: Чт, Май 08 2008 19:29 Цитировать |  |  | 

Shift-F8; импортируй таблицы из Addons\Tables\Cyrillic. Для UTF-8 поставь плагин Unicode Wizard.

http://www.moris.ru/~spinoza/download/uwizard/uwizard16.zip

Какие московские проститутки доступны в вашем районе. Классные проститутки Москвы за 1000руб. Заказывайте сейчас.
К началу Профиль Сообщение
Показать сообщения:      
 
Новая тема  Ответить

 Перейти:   




Следующая тема
Предыдущая тема
Вы можете начинать темы
Вы можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


P o w e r e d b y p h p B B © p h p B B G r o u p :: T h e m e b a s e d o n FI T h e m e :: Часовой пояс: GMT + 3