Добрый день.
Хочу реализовать на сайте фильтр цензуры. И даже скорее не фильтр а условие. Скажем, если в строке имеются бранные слова, то выводим ошибку. В интернете искал решения, ничего хорошего не нашёл. Предлагают регулярки. Я попробовал парочку. Вроде и работают они, но многие слова пропускает. Незнаю как решить подобную задачу. Склоняюсь к использованию Базы данных со списком запрещенных слов и полнотекстового поиска по ним. Что посоветуете, как быть? Делаю фильтр для русского мата и английских ругательств.
1. StasHappy - 02 Октября, 2013 - 15:27:17 - перейти к сообщению
2. IllusionMH - 02 Октября, 2013 - 15:32:25 - перейти к сообщению
StasHappy, в_с_е_г_д_а__н_а_й_д_е_т_с_я__в_ а_р_и_а_н_т__к_о_т_о_р_ы_й__о_б_ о_й_д_е_т__ф_и_л_ь_т_р.
Модерация и вараинт бана или запрета на отправку следующих сообщений при появлении жалобы на мат.
Модерация и вараинт бана или запрета на отправку следующих сообщений при появлении жалобы на мат.
3. StasHappy - 02 Октября, 2013 - 15:36:06 - перейти к сообщению
Цитата:
в_с_е_г_д_а__н_а_й_д_е_т_с_я__в_ а_р_и_а_н_т__к_о_т_о_р_ы_й__о_б_ о_й_д_е_т__ф_и_л_ь_т_р.
С помощью регулярки, можно очистить строку от символов и оставить только буквы и цифры. А далее проверить на цензуру. Это не проблема. Но как лучше реализовать сам механизм? С помощью БД или как нибудь проще можно.
4. esterio - 02 Октября, 2013 - 15:39:41 - перейти к сообщению
StasHappy
Бросьте ето дело. Иначе пользователи будут страдать, а хулиганы все равно найдут обход
Бросьте ето дело. Иначе пользователи будут страдать, а хулиганы все равно найдут обход
5. IllusionMH - 02 Октября, 2013 - 15:42:47 - перейти к сообщению
StasHappy, да сколько матофильтров не ставили, все равно будут проблемы если употреблять подобные(см. слева) слова. upd. Плохо обоработает эту строку, придется еще и весь словарь цензурных слов держать.
Так что если и делать, то
Так что если и делать, то
IllusionMH пишет:
Модерация ... жалобы на мат.
6. StasHappy - 02 Октября, 2013 - 15:44:13 - перейти к сообщению
Цитата:
Бросьте ето дело. Иначе пользователи будут страдать, а метрщики все равно найдут обход
Бросить не могу. Работаю над серьёзным проектом. Вы лучше посоветуйте мне решение данной задачи. Есть какой либо вариант, наиболее лучший чем использование БД с полнотекстовым поиском?
(Добавление)
Цитата:
Модерация ... жалобы на мат.
Сервис, над которым я работаю, не занимаетс предварительной модерацией пользователиских сообщений. Пользователей много и сообщений много. За каждым не уследишь.
7. EuGen - 02 Октября, 2013 - 15:56:38 - перейти к сообщению
Решения не существует.
8. StasHappy - 02 Октября, 2013 - 16:10:58 - перейти к сообщению
Цитата:
Решения не существует.
Значит оно ещё просто не найдено.
9. Ch_chov - 02 Октября, 2013 - 16:20:56 - перейти к сообщению
А ещё можно смешивать русские и латинские символы.
10. IllusionMH - 02 Октября, 2013 - 16:29:17 - перейти к сообщению
Ch_chov, а еще можно использовать ASCII "картинки".
Тут поможет только эвристический алгоритм, который скопирован с мозга водопроводчика, сапожника, прапорщика и т.д.
Как делать плохое(матерится) так смекалка сразу включится.
Попробуйте реализовать свой вариант и посмотреть нагрузку и отношение правильных к неправильным срабатываниям.
Статистика покажет что при большой затрате ресурсов на написание и работу алгоритма, эффективность будет низкой.
Так что система тикетов — и все кому не нравятся мат имеют шансы "повлиять" на наказание виновных.
Тут поможет только эвристический алгоритм, который скопирован с мозга водопроводчика, сапожника, прапорщика и т.д.
Как делать плохое(матерится) так смекалка сразу включится.
Попробуйте реализовать свой вариант и посмотреть нагрузку и отношение правильных к неправильным срабатываниям.
Статистика покажет что при большой затрате ресурсов на написание и работу алгоритма, эффективность будет низкой.
Так что система тикетов — и все кому не нравятся мат имеют шансы "повлиять" на наказание виновных.
11. Zuldek - 02 Октября, 2013 - 16:34:29 - перейти к сообщению
жалоба+бан учетки
автоматическая деактивация сообщения при определенном числе жалоб.
автоматическая деактивация сообщения при определенном числе жалоб.
12. Ch_chov - 02 Октября, 2013 - 16:37:40 - перейти к сообщению
Вообще таких фильтров на php куча в сети. Можете по гуглить. Про эффективность вам уже обосновали. Хотя я сам лично ни одного такого фильтра не тестировал.
13. EuGen - 02 Октября, 2013 - 17:20:51 - перейти к сообщению
StasHappy пишет:
Значит оно ещё просто не найдено.
Хорошо. Предположим, есть множество разрешённых символов и множество тех, что будет сначала вырезать фильтр (как Вы упоминали выше - чтобы не дать возможности чего-либо (п)(о)(д)(о)(б)(н)(о)(г)(о) - про то, что выражение типа F(x)=x пострадает - умолчим). Тогда, пусть слово "FOO" считается запрещённым, а, например, символ "H" будет разрешён.
Пожалуйста, решите подобное:
- и подобных примеров будет великое множество. Слишком сильные меры (вырезание спец. символов, запрет нескольких сообщений подряд и т.п.) - приведёт к тому, что обмен сообщениями будет затруднён для нормальных пользователей. Те, кто желают нарушить - применят вдвое больше усилий, чтобы обойти фильтр, после того, как увидят, что таковой фильтр существует.