Code:
<?php
@set_time_limit(0);
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', true);
function CurlSpam($proxy, $proxyprotocol, $referer, $spamsite)
{
$useragent = 'Mozilla/5.0 (X11; U; Linux i686; fr; rv:1.9.1.1) Gecko/20090715 Firefox/3.5.1';
$header = array(
"Accept: text/xml,application/xml,application/xhtml+xml, text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5",
"Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3",
"Accept-Charset: ISO-8859-1;q=0.7,*;q=0.7",
"Keep-Alive: 300"
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_FOLLOWLOCATION, false);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 15);
curl_setopt($ch, CURLOPT_TIMEOUT, 15);
curl_setopt($ch, CURLOPT_COOKIEJAR, 'cookieSpam');
curl_setopt($ch, CURLOPT_COOKIEFILE, 'cookieSpam');
curl_setopt($ch, CURLOPT_URL, $spamsite);
curl_setopt($ch, CURLOPT_REFERER, $referer);
curl_setopt($ch, CURLOPT_USERAGENT, $useragent );
curl_setopt($ch, CURLOPT_HTTPHEADER, $header );
if ( $proxy != '')
{
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1);
curl_setopt($ch, CURLOPT_PROXY, $proxy);
if ( $proxyprotocol == 'socks4') curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS4);
else if($proxyprotocol == "socks5") curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_SOCKS5);
else curl_setopt($ch, CURLOPT_PROXYTYPE, CURLPROXY_HTTP);
}
$response = curl_exec($ch);
$error = curl_error($ch);
if ( $error != "" )
{
$result = $error;
return $result;
}
$result = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);
unset($ch);
return $result;
}
if ( (isset($_POST['NBrequetes'])) && (is_numeric($_POST['NBrequetes'])) && ($_POST['NBrequetes'] != '') )
$requetes = strip_tags($_POST['NBrequetes']);
else
$requetes = 5;
$urlspam = array();
foreach( file('URLspam.csv') as $val )
array_push( $urlspam, trim( $val ) );
$nburlspam = count($urlspam);
if (ob_get_level() == 0) ob_start();
if ( (isset($_POST['referer'])) && ($_POST['referer'] != '') )
{
$referer = trim(strip_tags($_POST['referer']));
$boucle = 0;
while($boucle < $requetes)
{
for ($i = 0; $i < $nburlspam; $i++)
{
echo "Spam referrer " . ($boucle+1) . " : referrer = $referer pour le site $urlspam[$i] en cours ...";
sleep(5);
$res = CurlSpam('', '', $referer, $urlspam[$i]);
if ( $res != '200')
{
echo "<br>Erreur : $res<br>";
exit();
}
ob_flush();
flush();
}
$boucle++;
}
}
ob_end_flush();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Spam Referer</title>
</head>
<body>
<h1>Spam Referer</h1>
<div>
<form method="POST" action="<?php echo strip_tags($_SERVER['REQUEST_URI']) ;?>">
<p>URL du site à référencer :</p>
<input name="referer" type="text" size="100" value="<?php if (isset($_POST['referer']) ) {echo strip_tags($_POST['referer']);} ?>">
<p>Nombre de requêtes à effectuer (5 requêtes par défaut) :
<input name="NBrequetes" type="text" size="3" maxlength="3" value="<?php if (isset($_POST['NBrequetes'])) {echo strip_tags($_POST['NBrequetes']);} else {echo '5';} ?>"></p>
<p><input type="submit" value="Go" name="go">
<input type='button' value='Annuler' onclick='location.href="<?php echo strip_tags($_SERVER['REQUEST_URI']) ;?>"'></p>
</form>
<br />
</div>
</body>
</html>
I test the script that works properly. but even after a few days, I do not appear in my referrer google analityc, or even in my AWStats.