У меня есть свой проект - сайт объявлений, полностью самописный.
Модерация у меня представлена так. Первый уровень безопасности - это стоп-слова:
тыц
public static $words = array(
'кредит', 'кредиты', 'кредита', 'кредитов', 'кредиту', 'кредитам', 'кредитом', 'кредите', 'кредитах',
'кредитование', 'кредитной', 'кредитная', 'кредитные',
'займ', 'займы', 'займа', 'займов', 'займам', 'займом', 'займе', 'займах', 'залог', 'залога', 'залоги',
'заемщик', 'заемщика', 'заем',
'заёмщик', 'заёмщика', 'заём',
'курсовая', 'курсовые', 'курсовых',
'диплом', 'дипломы', 'дипломов', 'дипломные', 'дипломной', 'дипломных',
'реферат', 'рефераты', 'рефератов',
'осаго',
// Наркоманский жаргон
'абстяга', 'агрегат', 'амфетамин', 'анаша', 'апер', 'бахнуться', 'башатумнай', 'бодяга', 'бодяжить', 'боинг', 'болтануться', 'болтушка', 'бошки', 'брахман', 'бээфник', 'варево', 'винт', 'вмазка', 'вмазываться', 'втереться', 'вторяк', 'гандж', 'гарик', 'гашиш', 'гашло', 'героин', 'герфа', 'глюкало', 'глюкач', 'джеф', 'доб', 'догнаться', 'догоняться', 'доза', 'дозняк', 'драга', 'драч', 'дуплет', 'дуплить', 'дупло', 'дурь', 'духарь', 'ерник', 'жареха', 'жмых', 'забодяжить', 'задвигаться', 'заклиниться', 'заколоться', 'затромбить', 'кайфануть', 'калики', 'канюля', 'карбид', 'кикер', 'килики', 'кокаин', 'кокнар', 'кокс', 'колесманить', 'колесник', 'колоться', 'конар', 'конопа', 'конопель', 'косяк', 'крис', 'кристалл', 'кристалы', 'крисы', 'кроссвордный', 'круглые', 'кукушонок', 'кумар', 'лайба', 'легалка', 'легалку', 'лсд', 'мазной', 'мандрилка', 'мандюшка', 'маняга', 'марго', 'маруся', 'маруха', 'марца', 'марцан', 'марцефаль', 'марцифаль', 'марцовка', 'мача', 'мачье', 'мдма', 'миксы', 'молоко', 'мулька', 'нарк', 'нарком', 'наркот', 'наркота', 'наркоша', 'натур', 'обдолбаться', 'опиуха', 'отвиснуть', 'отдуплиться', 'оттопыриться', 'оттянуться', 'папавер', 'пласт', 'подзаправиться', 'поставиться', 'припариваться', 'пушер', 'пырялка', 'пыряться', 'пыха', 'расколбаситься', 'раскумариваться', 'расслабиться', 'сажало', 'снаряд', 'спайс', 'спайсы', 'стимульнуться', 'табакерка', 'торч', 'травка', 'треснуться', 'турьяк', 'ужалиться', 'ускоритель', 'ушибиться', 'фен', 'ханка', 'хмурый', 'чернуха', 'черняшка', 'чпокнуться', 'шала', 'шан', 'шира', 'ширнуться', 'шишки', 'шмаль', 'шмыгать', 'шняга', 'шпигать', 'экстази',
'электроудочка', 'электроудочки', 'электроудочке', 'электроудочку', 'электроудочкой', 'электроудочкам', 'электроудочками', 'электроудочек',
);
Второй уровень - запрет урлов в заголовке и теле объявления.
Далее - ручная модерация. Дело в том, что совсем недавно вступил в силу закон о запрете электроудочек. И в роскомнадзор полетели от прокуроров из разных областей обращения. Старый хостинг блокирнул сайт, разблокировки так и не дождался - пришлось уходить на другой хостинг. Нервов потрепано немало. Писал 20 раз в роскомнадзор. Они, кстати, отвечали более оперативно, чем хостинг.
Только ручная модерация! Дело в том, что объявления регулярно пишут всяческие инфоцыгани, попрошайки, сектанты, проститутки, просто идиоты. Совершенно неблагодарное занятие содержать подобного рода сайт. Отдельная песня - это модерация разделов. Пользователи ВООБЩЕ не в состоянии отличить услугу от товара, категорию "автозапчасти" от "купля-продажа автомобилей" и т.д.