Ха в начале года поставил данный мод, я считаю его одним из лучших против ботов
все было зер гуд, пока не просекли и не стали засорять всякими сообщениями типа - куплю.. продам, без ссылок. Так вот, включил я данные слова в список слов, по которым банятся и всё стало опять хорошо
Попадались пару раз невнимательные пользователи, правда я при просмотре профиля, если видел что пользователь реален, без левых емайлов - разбанивал его, некоторые просили разбанить через мой ящик.. удобно вообщем.
При регистрации, в файл lang_main.php вставил следующий текст
Код: Выделить всё
ВНИМАНИЕ! Всё, что связанно с коммерческой рекламмой - запрещено на сайте и форуме! Подобные сообщения и пользователи будут удалены без предупреждения!
В Ваших 1-х сообщениях ЗАПРЕЩЕНО оставлять ссылки вида http, www, Продам, Куплю, свои е-майлы на любые ресурсы! В том числе находящиеся на этом сайте и форуме. Такие сообщения и пользователи будут ЗАБАНЕНЫ а после - удалены без предупреждения!!! Отнеситесь к этому с пониманием.
Я думаю и глупому понятно что к чему при прочтении этого сообщения, а если его раскрасить в разные цвета..
. Авторам мода - гиганское спасибо и сполне можете мод оправлять в "моды" так как глюков и проблем каких-то с модом нету просто по определению, все стабильно работает.
Ставить очень легко кстати, до этого вообще почти не разбирался что к чему, так всё расписано - куда какой кусок кода совать. Удачи в начинаниях.
Добавлено спустя 11 минут 21 секунду:
beermir писал(а):А вот вариант без банов всяких кто-то смогёт сделать? Примерно так: новый пользователь, у которого менее, например 10-15 сообщений, пишет и отправляет сообщения только с вводом кода защиты от спама. Имеется ввиду что код будет рисоваться как и при регистрации. После испытательного срока в 10-15 сообщений, чтобы не создавать лишнего гемора для постоянных посетителей, сообщения оставляются уже без кода.
Не эфективно на мой взгляд. Если Вы сталкивались с программой Universal Share Downloader (программой по закачке файлов из фреешар) так там тоже коды, притом сложные коды и программа их обходит. В некоторых случаях приходится вручную код вбивать но файл всё равно удается скачать, так и спамеру тож самое я думаю делать останется, программа спамерская сайт Ваш зацепила, он код ввел и нагадил..
Хотя подобные коды на сообщениях - насколько память мне не изменяет существуют. В phpbb2+ такой помойму код есть.
Самое эфективное - это банить сразу и без кодов, а потом вычищать через админку "мертвые души".
Добавлено спустя 13 минут 51 секунду:
А вообще советую еще в дополнение к данному моду поставить мод против сканеров емайлов.
Разработка не моя, но на мой взгляд эфективная
Создаете файл - например email.php
Код: Выделить всё
<?
################################################################################
#
# fake_mail.php
#
# version 1.0, 2002-12-15
#
# © Dmitry Borodin, [url=http://php.spb.ru/php/fake_mail.php]http://php.spb.ru/php/fake_mail.php[/url]
#
################################################################################
ini_set("display_errors",1);
// создать согласную
function s() {
$word="qwrtypsdfghjklzxcvbnm";
return $word[mt_rand(0,strlen($word)-1)];
}
// создать гласную
function g() {
$word="euioam";
return $word[mt_rand(0,strlen($word)-1)];
}
// разные последовательности гласных/согласных, которые дают человеко-подобные слова
function name0() { return s().g().s(); }
function name1() { return s().g().s().g(); }
function name2() { return s().g().g().s(); }
function name3() { return s().s().g().s().g(); }
function name4() { return g().s().g().s().g(); }
function name5() { return g().g().s().g().s(); }
function name6() { return g().s().s().g().s(); }
function name7() { return s().g().g().s().g(); }
function name8() { return s().g().s().g().g(); }
function name9() { return s().g().s().g().s().g(); }
// эти "клевые" числа люди любят использовать в адресах email
$cool=array(1,2,5,10,99,100,111,666,1999,2000,2001,2002,2003);
// создать случайное слово
function randword() {
global $cool;
$func="name".mt_rand(0,9);
$func2="name".mt_rand(0,9);
switch (mt_rand(0,10)) {
case 0: return $func().mt_rand(1,99);
case 1: return $func()."-".$func2();
case 2: return $func().$cool[mt_rand(0,count($cool)-1)];
case 3:
case 4: return randpass(mt_rand(3,12));
default: return $func();
}
}
// тоже, но заданной долины из совершенно случайных букв
function randpass($len) {
$word="qwertyuiopasdfghjklzxcvbnm1234567890";
$s="";
for ($i=0; $i<$len; $i++) {
$s.=$word[mt_rand(0,strlen($word)-1)];
}
return $s;
}
// в 33% случаях брать домен из этого списка (случайный домен)
$domain1=array("hotmail.com","microsoft.com","mail.com","imail.com","microsoft.ru");
$d1c=count($domain1);
// в 66% случаях генерить домено случайным образом
$domain2=explode(" ","gs ac af al dz as ad ao ai aq ag ar am aw au at az bs bh bd bb by be bz bj bm bt bo ba bw bv br io bn bg bf bi by kh cm ca cv ky cf td cl cn cx cc co km cg ck cr ci hr hr cu cy cs dk dj dm do tp ec eg sv gq ee et fk fk fo fj fi fr gf pf tf ga gm ge de de gh gi gr gl gd gp gu gt gn gw gy ht hm hn hk hu is in id ir iq ie il it jm jp jo kz ke ki kp kr kw kg la lv lb ls lr ly li lt lu mo mk mg mw my mv ml mt mh mq mr mu mx fm md mc mn ms ma mz mm na nr np nl an nt nc nz ni ne ng nu nf mp no om pk pw pa pg py pe ph pn pl pt pr qa re ro ru rw kn lc vc ws sm st sa sn sc sl sg si sb so za es lk sh pm sd sr sj sz se ch ch sy tw tj tz th tg tk to tt tn tr tm tc tv ug ua ae uk gb us um uy su uz vu va ve vn vi vg wf eh ye yu zr zm zw com edu net mil org gov kp kr la su sk cz");
$d2c=count($domain2);
// Пометка для роботов поисковых машин, что эту страницу нельзя индексировать
echo "<html><head><META NAME='robots' CONTENT='NONE'></head><body>\n\n";
// Имя текущего скрипта
$fn=getenv("SCRIPT_NAME");
// выдать 0-10 ссылок (примерно 5 за раз)
$cnt=mt_rand(0,10);
for ($i=0; $i<$cnt; $i++) {
$rnd=randpass(mt_rand(1,3));
$day=date("d_m");
echo "<li><a href=$fn/$day/$rnd.html>Cool Link! Click here -- $rnd</a> \n";
}
echo "<P>\n\n\n";
// выдать 0-1000 email'ов (примерно 500 за раз)
$cnt=mt_rand(0,1000);
for ($i=0; $i<$cnt; $i++) {
$u=randword();
if (mt_rand(0,2)==0) $d=$domain1[mt_rand(0,$d1c-1)];
else $d=randword().".".$domain2[mt_rand(0,$d2c-1)];
echo " <a href=mailto:$u@$d>$u@$d</a> \n";
}
?>
Делаете ссылку со страницы форума на этот файл
При попытке сканирования форума на предмет е-майлов, программа натыкается на данный файл и получает сгенерированные мэйлы и ссылки, которые генерируют ещё адреса. Бот может по скрипту бегать до бесконечности, засоряя все свои базы.