Внесите свой вклад в борьбу со спамом!
 
Автор PHP Club (Все статьи)
Опубликовано03.01.2003
Источник http://www.phpclub.net
РазделPHP, mySQL
Просмотров0
Написать отзыв
Оцените статью!
  • Рейтинг статьи - 0.00 из 5
  • 1
  • 2
  • 3
  • 4
  • 5

Все прекрасно знают, откуда происходит наполнение спаммерских баз Email'ов: из скаченных и отсканированных веб-страниц, из логов мелких продажных хостинг-провайдеров, из ICQ и т.д. Есть просто способ испортить роботов, которые сканируют интернет и вырезают с веб-страниц почтовые адреса.

Программа ниже генерирует старницу, содержащую множество ссылок на несуществующие Email. Если на такую станичку попадер спам-робот, то база спаммера пополниться 500 левыми и заведомо не работающими адресами. Кроме самих адресов на странице будет содержаться ссылки на мнимые страницы, которые робот ломанется скачивать, что в свою очередь будет каждый раз выдавать все новые и новые горы неработающих почтовых адресов (но такое зацикливание не вечно, а ограничено до 1000 страниц).

Чтобы на такие страницы не попали роботы поисковых машин, стоит META тег запрещающих индексирование. Это сделано потому, что, вероятно, спам-робот не обратит вниамние на META, а честный робот поисковика не будет индексировать генерируемый мусор.

Чтобы запустить эту программу, скачайте файл, переименуйте его в какое-нибудь безобидное название, типа userlist.php, и поставьте с главной страницы вашего сайта (или других мест) невидимую ссылку на эту программу. Примерно, поместите такой код:

<a href="имя_скрипта.php" style='text-decoration: none'><font color=white>.</font></a>
Особо скрывать ссылку не нужно, пользователи сайта все равно не будут по такой программе ползать - не интересно. Ссылочкой заинтересуются лишь роботы.

Программа очень простая. В начале генерит в среднем 5 ссылок для дальнейших заходов роботом, и ниже выдает в среднем 500 адресов email. Ссылки на саму себя программа выдает в зависимости от текущего дня. Т.е. если сегодня спам-робот выкачает все, то завтра ссылки станут уже другими и робот пойдет по новой. Всего, в течении дня, робот выкачает около 1000 страниц (500 000 адресов за раз).

Примите участие в коллективной атаке спаммерских баз email - разместите скрипт у себя на сайте!

Текст программы:

 <?php

##
#
# fake_mail.php
#
# version 1.0, 2002-12-15
#
# (c) Dmitry Borodin, http://php.spb.ru/php/fake_mail.php
#
##

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";
}

?>

Примеры запущенных скриптов:

Я прекрасно понимаю, что программа весьма примитивна и можно написать лучше. Да, и спаммеры могут создавать защиту от явной накрутки их баз. Но, мне кажется, это будет очень эффективно в первое, достаточно длительное, время.

 

 
Новое в разделе “Статьи”
  • Софт-каталоги: Выбор сделан!?
    Софт-каталоги: Выбор сделан!?

    Эта статья написана в основном с точки зрения разработчика программ, желающего разместить свои творения в софт-каталогах. Но и простым пользователям она будет интересна...

  • Заглядываем внутрь Apple MacBook Air
    Заглядываем внутрь Apple MacBook Air

    Детище компании Apple выглядит просто идеально. Мы и рассмотрим внутреннее устройство популярного нынче ноутбука Apple MacBook Air...

Все новые статьи

   
Свежие новости

Все новости

 
Категории
Hardware
SOFT Обозрение
Безопасность
Игры
Общие темы
Операционки
Раскрутка сайтов
Сотовые
Программирование
Java, C, Corba
Perl, CGI
Разное
 
Лучшие авторы
Security Lab
Gray
i2R
Павел Ряйкконен
Brett Tabke
Все авторы
СофтПортал

Сделать стартовой

Добавить в Избранное

 
Наш опрос
Какой раздел каталога Вам наиболее интересен?

CD/DVD диски
Web разработчику
Аудио, Звук
Безопасность
Видео
Графика и дизайн
Деловые программы
Диски и файлы
Игры, развлечения
Интернет
Мобильные телефоны
Навигация, GPS
Образование, наука
Рабочий стол, десктоп
Сети
Система
Скринсейверы
Текст
Хобби, увлечения

Предыдущие опросы