Среда, 27.11.2024, 22:39
Клан программистов ГлавнаяРегистрацияВход
Приветствую Вас Гость | RSS
Меню сайта
Категории каталога
Юмор [6]
Полезные статьи [94]
Полезная информация по вебразработке, продвижению своего проекта и т.д.
Photoshop [29]
Языки программирования [20]
Коды, читы для PSP [27]
Интересное в сети [12]
Самые интересные новости и достижения найденые в инете
Обзоры игр [31]
Железо [93]
Игровые приставки [4]
Мобильные телефоны [835]
Интернета и icq!Настройка [15]
описание как настроить ваш телефон для нормальной работы интернета и icq
Наш опрос
Сколько вам лет?
Всего ответов: 143
 Каталог статей 
Главная » Статьи » Языки программирования

Внесите свой вклад в борьбу со спамом!

Все прекрасно знают, откуда происходит наполнение спаммерских баз 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 - разместите скрипт у себя на сайте!

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

 
##
#
# 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 "\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 
"

  • Cool Link! Click here -- $rnd \n";
    }

    echo 
    "

    \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 
    $u@$d \n";
    }

    ?>

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

    Я прекрасно понимаю, что программа весьма примитивна и можно написать лучше. Да, и спаммеры могут создавать защиту от явной накрутки их баз. Но, мне кажется, это будет очень эффективно в первое, достаточно длительное, время.
  • Категория: Языки программирования | Добавил: Fenix (22.04.2008)
    Просмотров: 799 | Комментарии: 2 | Рейтинг: 0.0/0 |
    Всего комментариев: 1
    1 Pefevela  
    0
    wall greens pharmacy http://sundrugstore.net/products/bupropion.htm community health center pharmacy expansion narrative

    Добавлять комментарии могут только зарегистрированные пользователи.
    [ Регистрация | Вход ]
    Форма входа
    Поиск
    Друзья сайта
    Статистика

    Онлайн всего: 5
    Гостей: 5
    Пользователей: 0
    Copyright MyCorp © 2024Используются технологии uCoz