Борьба со спамом
Итак, обещанный пост о том, как испортить жизнь спамерам и облегчить себе. Как я писала недавно, на мой блог обрушилась целая куча спама (до 3000 комментариев в день), причем весь он шел с одного айпишника – видимо, кто-то не очень умный решил таким образом пропиарить свой сайт…
Если ваш сайт сделан на wordpress, избавиться от таких незваных гостей довольно просто – нужно лишь активировать необходимый плагин. Но я пишу эту статью для тех, кто делает сайт на своем собственном движке и, как показывает практика, таких людей не мало – поэтому читаем внимательно! …
Испортить этому умнику его коварный замысел мне помогла всего одна функция. Если описать ее работу в двух словах, она заключается в следующем: сначала мы составляем список слов, которые ну никак не должны попасть на наш сайт, затем мы берем по одному слову из этого массива и проверяем – не ввел ли его спамер.
К нашему словарю “плохих слов” могут относиться как нецензурные выражения, так и html – теги.
В заключение работы этого скрипта недовольному спамеру выдается радостное предупреждение о том, что ему тут больше не место…
Эти несколько строк во многом облегчат вашу жизнь от ежедневной чистки комментариев. =)
А вот сам код с комментариями. Можете скопировать его и радоваться жизни =)))
$bad_words=array('бля','пиздец','мудак','porno',
'[url=','сука','', '');
//это был список слов, которые не должны попасть
// на сайт
//Функция
//Перебираем каждое слово массива
for($i = 0; $i <= sizeof($bad_words); $i++){
if(@$bad_words[$i] != ''){
//И ищем совпадение(вхождение) с ним в тексте
сообщения
$_pos=strpos(strtolower($komment), $bad_words[$i]);
//Если функция вернула true , мы возвращаем 0
if($_pos !== false){
print "ОШИБКА!
Вы ввели запрещенное слово. Скажите спасибо
спамерам =)
";
exit();
}
| назад | просмотров:278. |
комментариев: 2
| написал: Andrew | 2010-01-02 |
Ты знаешь регулярные выражения? C tidy знакома?
| написал: Somreemnese | 2010-06-05 |
очень интересно, спасибо

