DIMON4G
Сообщений: 34
Оценки: 0
Присоединился: 2008-10-26 13:12:46.123333
|
<?php
set_time_limit(0);
session_start();
$ajax=isset($_POST['ajax']) ? 1 : 0;
$browser="Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.14) Gecko/20080404 Firefox/2.0.0.14";
$thescript='';
for($tlen=strlen($_SERVER['SCRIPT_NAME']),$i=$tlen-1;$i>=0;$i--)
{
if($_SERVER['SCRIPT_NAME']{$i}=='/') break;
$thescript=$_SERVER['SCRIPT_NAME']{$i}.$thescript;
}
if(isset($_GET['nw']))
{
$pr=isset($_GET['pr']) ? $_GET['pr'] : '';
$pp=isset($_GET['pp']) ? $_GET['pp'] : '';
$x=isset($_GET['img_coord_x']) ? $_GET['img_coord_x'] : '';
$y=isset($_GET['img_coord_y']) ? $_GET['img_coord_y'] : '';
if($x)
{
$_GET['nw'].='&img_coord.x='.$x.'&img_coord.y='.$y;
}
$ret=socket_do('win.mail.ru','','/cgi-bin/x_reg_frame?x_reg_id=regV2_'.$_GET['nw'],$browser,'',1,'GET','http://win.mail.ru/cgi-bin/x_reg_frame',0,$pr,$pp);
if(strpos($ret,'Код введен правильно')!==false)
{
print <<<HERE
<html><body><script>
window.opener.focus();
window.close();
window.opener.send2();
</script>
</body>
</html>
HERE;
}
if(strpos($ret,'Вы неправильно ввели')!==false)
{
print <<<HERE
<html><body><script>
window.opener.focus();
window.opener.errMsg(4);
window.opener.nextReg();
window.close();
</script>
</body>
</html>
HERE;
}
$ret=substr($ret,strpos($ret,"\r\n\r\n")+4);
$ret=str_replace('<head>',"<head><meta http-equiv=\"Content-Type\" content=\"text/html;charset=windows-1251\"><script language='JavaScript'>function nxt() {window.opener.focus();window.opener.nextReg();window.close();}</script>",$ret);
$ret=str_replace('action=x_reg_frame',"action='?'",$ret);
$ret=str_replace("src=\"x_code_image?","src=\"?pr={$pr}&pp={$pp}&img2=",$ret);
$ret=str_replace("name=\"x_reg_id\"","name='nw'",$ret);
$ret=str_replace("<input type=hidden value=\"regV2_","<input type=hidden value=\"",$ret);
$ret=str_replace('</form>',"<input type='hidden' name='pr' value='$pr'><input type='hidden' name='pp' value='$pp'></form><br><input type='button' onclick='nxt()' value='Пропустить ввод'>",$ret);
print $ret;
exit();
}
if(isset($_GET['img2']))
{
if(!isset($_GET['x_reg_id']))
die();
$pr=isset($_GET['pr']) ? $_GET['pr'] : '';
$pp=isset($_GET['pp']) ? $_GET['pp'] : '';
if($pr)
{
if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/",$pr) || !preg_match("/^(\d)+$/",$pp))
{
$pr='';
$pp='';
}
}
$ret=socket_do('win.mail.ru','','/cgi-bin/x_code_image?x_reg_id='.$_GET['x_reg_id'],$browser,'',1,'GET','',0,$pr,$pp);
print substr($ret,strpos($ret,"\r\n\r\n")+4);
exit();
}
if(isset($_GET['img']))
{
header('Content-type: image/jpeg');
$img=$_GET['img'];
$num=isset($_GET['num']) ? $_GET['num'] : '';
$id=isset($_GET['id']) ? $_GET['id'] : '';
$pr=isset($_GET['pr']) ? $_GET['pr'] : '';
$pp=isset($_GET['pp']) ? $_GET['pp'] : '';
if($pr)
{
if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/",$pr) || !preg_match("/^(\d)+$/",$pp))
{
$pr='';
$pp='';
}
}
if(!preg_match("/^[0-9a-z]+$/i",$img) || !preg_match("/^[0-9a-z]+$/i",$id) || !preg_match("/^[0-9]+$/i",$num))
die();
$ret=socket_do('win.mail.ru','','/cgi-bin/x_image?'.$img.'&num='.$num.'&x_reg_id='.$id,$browser,'',1,'GET','http://win.mail.ru/cgi-bin/signup',0,$pr,$pp);
print substr($ret,strpos($ret,"\r\n\r\n")+4);
exit();
}
$ver='1.0';
if(!$ajax)
{
print <<<HERE
<html><head>
<meta http-equiv="Content-Type" content="text/html;charset=windows-1251">
<title>Mail.ru Regger
HERE;
$ftmp='b'.'y'.' '.'D'.'X'.' ';
print $ftmp;
print <<<HERE
$ver</title>
<style>
td
{
border-width:1px 1px 1px 1px;
border-style:solid;
border-color:black;
}
INPUT
{
BORDER-RIGHT: rgb(50,50,50) 1px outset;
BORDER-TOP: rgb(50,50,50) 1px outset;
FONT-SIZE: 11px;
font-family:Arial;
BORDER-LEFT: rgb(50,50,50) 1px outset;
BORDER-BOTTOM: rgb(50,50,50) 1px outset;
}
button
{
BORDER-RIGHT: rgb(50,50,50) 1px outset;
BORDER-TOP: rgb(50,50,50) 1px outset;
FONT-SIZE: 10px;
BORDER-LEFT: rgb(50,50,50) 1px outset;
BORDER-BOTTOM: rgb(50,50,50) 1px outset;
width:50px;
}
textarea
{
BORDER-RIGHT: rgb(50,50,50) 1px outset;
BORDER-TOP: rgb(50,50,50) 1px outset;
BORDER-LEFT: rgb(50,50,50) 1px outset;
BORDER-BOTTOM: rgb(50,50,50) 1px outset;
FONT-SIZE: 13px;
font-family:Arial;
}
select
{
FONT-SIZE: 10px;
background-color:#f4f4ff;
}
a,a:active,a:visited
{
background: transparent;
color: #34498B;
text-decoration: none;
font-weight:700;
font-size:10;
font-family:Arial;
background-color:wheat;
}
a:hover
{
background: transparent;
color: blue;
font-weight:700;
font-family:Arial;
font-size:10;
text-decoration: none;
background-color:yellow;
}
</style>
</head>
<body>
<table style="border-width:1px 1px 1px 1px; border-style:solid; border-collapse:collapse; border-color:black; width:100%; height:100%">
<tr><td colspan=2 align=center style="font-size:18;height:10">Mail.ru Regger By DX $ver</td></tr>
<tr valign=top><td><span id="name1">Установите настройки и нажмите "Начать"</span><hr>
<div id="stats" style="display:none;padding:4px;width:500px;height:350;overflow:auto;border-width:1px 1px 1px 1px;border-color:black;border-style:solid;"></div>
<span id="successm" style="display:none;"></span><br>
<br><div id="scrl2" style="display:none;""><input type="checkbox" checked id="scrl"> Авто-скролл логов</div>
</td><td style="width:290">Опции рассылки<hr>
<div id="opts">
<div id="choose">
<a href="#" onclick="chtab(1);return false;">Прокси</a> <a href="#" onclick="chtab(2);return false;">Настройки</a>
<a href="#" onclick="chtab(3);return false;">Зарегистрированные e-mail</a>
<hr></div>
<div id="tab1">
Список прокси (не обязательно):<br><textarea rows=20 cols=30 id="proxy"></textarea>
<br>Прокси-серверы будут меняться для каждой регистрации.
</div>
<div id="tab2" style="display:none">
Минимальная длина e-mail: <input type="text" id="minlen" value="7" style="width:50"><br>
Максимальная длина e-mail: <input type="text" id="maxlen" value="12" style="width:50"><br>
Разделять e-mail и пароль символом: <input type="text" id="symb" value=":" style="width:20" maxlength=1>
</div>
<div id="tab3" style="display:none">
Список зарегистрированных:<br>
<textarea rows=20 cols=37 id="emails"></textarea>
</div>
</div>
</td></tr>
<tr><td colspan=2 align=center style="height:20"><input type="button" onclick="startmess()" value="Начать регистрацию" id="st"></td></tr>
</table>
<script language='JavaScript'>
var ismes=false;
var prox=new Array();
var pport=new Array();
var useproxy=false;
var k=0;
var maxp;
var nregex=/^\d+$/g;
var successes=0;
var minlen;
var maxlen;
var symb;
var uagent=navigator.userAgent.toLowerCase();
var is_win=((uagent.indexOf("win")!=-1) || (uagent.indexOf("16bit")!=-1));
var is_opera=(uagent.indexOf('opera')!=-1);
var is_webtv=(uagent.indexOf('webtv')!=-1);
var is_safari=((uagent.indexOf('safari')!=-1) || (navigator.vendor=="Apple Computer, Inc."));
var is_ie=((uagent.indexOf('msie')!=-1) && (!is_opera) && (!is_safari) && (!is_webtv));
function chtab(num)
{
hideTabs();
showTab(num);
}
function hideTabs()
{
for(var i=1;i<=3;i++)
{
document.getElementById("tab"+i).style.display="none";
}
}
function showTab(num)
{
document.getElementById("tab"+num).style.display="block";
}
function startmess()
{
if(ismes)
{
if(!window.confirm("Вы действительно желаете остановить регистрацию?"))
return;
ismes=false;
document.getElementById("st").value="Начать регистрацию";
document.getElementById("stats").style.display="none";
document.getElementById("name1").innerHTML="Установите настройки и нажмите "Начать"";
document.getElementById("successm").style.display="none";
document.getElementById("scrl2").style.display="none";
document.getElementById("choose").style.display="block";
return;
}
document.getElementById("proxy").value=document.getElementById("proxy").value.replace(/^\s\s*/, '').replace(/\s\s*$/, '');
prox=new Array();
pport=new Array();
useproxy=false;
k=0;
successes=0;
var tmp;
minlen=document.getElementById("minlen").value;
maxlen=document.getElementById("maxlen").value;
symb=document.getElementById("symb").value;
if(symb.length!=1)
{
alert("Введите разделитель адреса и пароля в списке зарегистрированных.");
chtab(2);
return false;
}
if(minlen.search(nregex)==-1 || maxlen.search(nregex)==-1 || Number(minlen)>Number(maxlen))
{
alert("Введите правильную минимальную и максимальную длину адреса.");
chtab(2);
return false;
}
if(document.getElementById("proxy").value.length>0)
{
tmp=document.getElementById("proxy").value.replace(/\\r/g,"").split("\\n");
var cnt=tmp.length;
if(cnt==0)
{
alert("Прокси-серверы введены в неверном формате. Используйте ip:port.");
chtab(1);
return false;
}
for(var i=0;i<cnt;i++)
{
tmp2=tmp[i].split(":");
cnt2=tmp2.length;
if(cnt2!=2)
{
alert("Прокси-серверы введены в неверном формате. Используйте ip:port.");
chtab(1);
return false;
}
if(tmp2[0].length==0 || tmp2[1].length==0)
{
alert("Прокси-серверы введены в неверном формате. Используйте ip:port.");
chtab(1);
return false;
}
prox[i]=tmp2[0];
pport[i]=tmp2[1];
}
useproxy=true;
maxp=cnt;
}
ismes=true;
document.getElementById("st").value="Идёт регистрация...";
document.getElementById("stats").style.display="block";
document.getElementById("name1").innerHTML="Процесс регистрации адресов";
document.getElementById("scrl2").style.display="block";
document.getElementById("choose").style.display="none";
chtab(3);
document.getElementById("successm").style.display="block";
document.getElementById("successm").innerHTML="Успешно зарегистрировано: 0";
document.getElementById("stats").innerHTML="<font color='red'><b>Старт регистрации...</b></font><br>";
setTimeout("startReg()",1);
}
function startReg()
{
if(!ismes) return;
sendRequest("act=1",1);
if(useproxy) changeProxy();
}
function nextReg(suc,addr,pass)
{
if(suc)
{
successes++;
document.getElementById("successm").innerHTML="Успешно зарегистрировано: "+successes;
addMes("<font color=green'>Успешно зарегистрирован адрес "+addr+"</font><br>");
document.getElementById("emails").value=document.getElementById("emails").value+addr+symb+pass+"\\n";
}
setTimeout("startReg()",1);
}
function nextReg2()
{
setTimeout("nextReg()",1000);
}
function print_images(data1,data2,data3)
{
if(!ismes) return;
addMes("<div id='imgss'><img id='i1' src='?"+data1+"&pr="+prox[k]+"&pp="+pport[k]+"' /><img id='i2' src='?"+data2+"&pr="+prox[k]+"&pp="+pport[k]+"' /><img id='i3' src='?"+data3+"&pr="+prox[k]+"&pp="+pport[k]+"' /><br><input type='text' name='cap' onKeyPress='checkEnter(event)' id='cpc'><br><input type='button' id='snd' onclick='scpc()' value='Готово'><br></div>");
setTimeout('fcs()',100);
}
function fcs()
{
if(!ismes) return;
document.all.cap.focus();
}
function checkEnter(e)
{
var characterCode;
if(e && e.which)
{
characterCode=e.which;
}
else
{
e=event;
characterCode=e.keyCode;
}
if(characterCode==13)
scpc();
else
return false;
}
function scpc()
{
if(!ismes) return;
var xtmp=document.getElementById('cpc').value;
if(!xtmp) {alert("Введите символы с картинок");return false;}
if(document.getElementById('imgss'))
{
document.getElementById('imgss').innerHTML='';
if(is_ie)
document.getElementById('imgss').outerHTML='';
else
document.getElementById('imgss').id='';
}
sendRequest("act=2&minlen="+minlen+"&maxlen="+maxlen+"&imt="+xtmp);
}
function send2()
{
if(!ismes) return;
sendRequest("act=2&minlen="+minlen+"&maxlen="+maxlen+"&noimgs=1");
}
var lognum=0;
function addMes(msg)
{
lognum++;
if(lognum>200)
{
lognum=0;
document.getElementById("stats").innerHTML="";
}
document.getElementById("stats").innerHTML=document.getElementById("stats").innerHTML+msg;
if(document.getElementById("scrl").checked==true) document.getElementById("stats").scrollTop=100000;
}
function errMsg(typ)
{
switch(typ)
{
case 1:
addMes("<font color='red'>Ошибка парсинга страницы регистрации.</font><br>");
break;
case 2:
addMes("<font color='red'>Ошибка регистрации e-mail, возможно, он уже существует.</font><br>");
break;
case 3:
addMes("<font color='red'>Прокси введены в неправильном формате.</font><br>");
break;
case 4:
addMes("<font color='red'>Неверно введён защитный код.</font><br>");
break;
case 5:
addMes("<font color='red'>Такой e-mail уже существует.</font><br>");
break;
case 6:
addMes("<font color='red'>Превышен лимит регистраций с данного IP.</font><br>");
break;
}
}
function createHttpRequest()
{
if(is_ie)
httpRequest=new ActiveXObject("Microsoft.XMLHTTP");
else
httpRequest=new XMLHttpRequest();
return httpRequest;
}
function changeProxy()
{
k++;
if(k>=maxp) k=0;
}
function winOp(xid)
{
if(!ismes) return;
addMes("<font color='blue'>Обнаружена сложная капча. Сейчас откроется окно для её ввода.</font><br>");
window.open("{$thescript}?nw="+xid+"&pr="+prox[k]+"&pp="+pport[k],"Regger","menubar=no,location=no,resizable=no,scrollbars=no,status=no,width=200,height=200");
}
function sendRequest(params,showprox)
{
if(useproxy)
{
if(params) params=params+"&pr="+prox[k]+"&pp="+pport[k]; else params="pr="+prox[k]+"&pp="+pport[k];
if(showprox) params=params+"&shp=1";
}
if(params) params=params+"&ajax=1"; else params="ajax=1";
httpRequest.open('POST',"$thescript",true);
httpRequest.setRequestHeader("Content-type","application/x-www-form-urlencoded");
httpRequest.setRequestHeader("Content-length",params.length);
httpRequest.setRequestHeader("Connection","close");
httpRequest.onreadystatechange=getRequestx;
httpRequest.send(params);
}
function getRequestx()
{
if(httpRequest.readyState==4)
eval(httpRequest.responseText);
}
var httpRequest=createHttpRequest();
</script>
</body></html>
HERE;
}
else
{
header("Content-type: text/html; charset=windows-1251");
$act=isset($_POST['act']) ? $_POST['act'] : 0;
$pr=isset($_POST['pr']) ? $_POST['pr'] : '';
$pp=isset($_POST['pp']) ? $_POST['pp'] : '';
if($pr)
{
if(!preg_match("/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/",$pr))
{
$pr='';
$pp='';
print("errMsg(3);");
}
if(!preg_match("/^(\d)+$/",$pp))
{
$pp='';
$pr='';
print("errMsg(3);");
}
if(isset($_POST['shp']))
{
print "addMes('<font color=blue>Текущий прокси: $pr:$pp</font><br>');";
ob_flush();
flush();
}
}
switch($act)
{
case '1':
$ret=socket_do('win.mail.ru','','/cgi-bin/signup',$browser,'',1,'GET','http://mail.ru',0,$pr,$pp);
preg_match("/<input type=\"hidden\" name=\"ID\" value=\"([0-9a-z]+)\">/is",$ret,$m);
if(!isset($m[1]))
die("errMsg(1);nextReg();");
$_SESSION['id']=$m[1];
preg_match("/name_ = document\.uinfo\.x_([a-z0-9]+)\./is",$ret,$m);
if(!isset($m[1]))
die("errMsg(1);nextReg();");
$_SESSION['email']=$m[1];
preg_match("/lastName_ = document\.uinfo\.x_([a-z0-9]+)\./is",$ret,$m);
if(!isset($m[1]))
die("errMsg(1);nextReg();");
$_SESSION['lastname']=$m[1];
preg_match("/firstName_ = document\.uinfo\.x_([a-z0-9]+)\./is",$ret,$m);
if(!isset($m[1]))
die("errMsg(1);nextReg();");
$_SESSION['firstname']=$m[1];
preg_match("/birthDay_ = parseInt\(document\.uinfo\.x_([a-z0-9]+)\./is",$ret,$m);
if(!isset($m[1]))
die("errMsg(1);nextReg();");
$_SESSION['birthday']=$m[1];
preg_match("/birthYear_ = parseInt\(document\.uinfo\.x_([a-z0-9]+)\./is",$ret,$m);
if(!isset($m[1]))
die("errMsg(1);nextReg();");
$_SESSION['birthyear']=$m[1];
preg_match_all("/<input type=\"password\" name=\"x_([a-z0-9]+)\"/is",$ret,$m);
if(!isset($m[1][0]) || !isset($m[1][1]))
die("errMsg(1);nextReg();");
$_SESSION['pass1']=$m[1][0];
$_SESSION['pass2']=$m[1][1];
preg_match("/customQuestionAsterix\"> <\/td>\n\n <td><input type=text Name=\"x_([a-z0-9]+)\"/is",$ret,$m);
if(!isset($m[1]))
die("errMsg(1);nextReg();");
$_SESSION['question']=$m[1];
preg_match("/на вопрос<\/td>\n\n <td align=right><b class=red>\*<\/b> <\/td>\n\n <td><input type=text Name=\"x_([a-z0-9]+)\"/is",$ret,$m);
if(!isset($m[1]))
die("errMsg(1);nextReg();");
$_SESSION['ans']=$m[1];
preg_match("/<input type=radio Name=\"x_([a-z0-9]+)\" value=\"1\"/is",$ret,$m);
if(!isset($m[1]))
die("errMsg(1);nextReg();");
$_SESSION['gender']=$m[1];
preg_match_all("/<img src=\"x_image\?([a-z0-9]+)&num=([a-z0-9]+)&x_reg_id=([a-z0-9]+)\"/is",$ret,$m);
if(!isset($m[1][0]) || !isset($m[1][1]) || !isset($m[1][2]))
{
preg_match("/src='x_reg_frame\?([a-z0-9]+)&x_reg_id=regV2_([a-z0-9]+)'><\/iframe>/is",$ret,$m);
if(!isset($m[2]))
die("errMsg(1);nextReg();");
$_SESSION['regid']='regV2_'.$m[2];
die("winOp('{$m[2]}');");
}
else
{
preg_match("/на картинке<\/td>\n\n <td align=right><b class=red>\*<\/b> <\/td>\n\n <td><input type=text name=\"x_([a-z0-9]+)\"/is",$ret,$mm);
if(!isset($mm[1]))
die("errMsg(1);nextReg();");
$_SESSION['images']=$mm[1];
$_SESSION['img1']=$m[1][0];
$_SESSION['img2']=$m[1][1];
$_SESSION['img3']=$m[1][2];
$_SESSION['imgnum1']=$m[2][0];
$_SESSION['imgnum2']=$m[2][1];
$_SESSION['imgnum3']=$m[2][2];
$_SESSION['regid']=$m[3][0];
die("print_images('img=".$m[1][0]."&num=".$m[2][0]."&id=".$m[3][0]."','img=".$m[1][1]."&num=".$m[2][1]."&id=".$m[3][0]."','img=".$m[1][2]."&num=".$m[2][2]."&id=".$m[3][0]."');");
}
break;
case '2':
$minlen=isset($_POST['minlen']) ? $_POST['minlen'] : 7;
$maxlen=isset($_POST['maxlen']) ? $_POST['maxlen'] : 12;
$imt=isset($_POST['imt']) ? $_POST['imt'] : '';
$eml=gen_rand_name($minlen,$maxlen);
$fname=gen_rand_name(5,15);
$lname=gen_rand_name(5,15);
$bday=mt_rand(1,29);
$bmonth=mt_rand(1,12);
$byear=mt_rand(1960,1995);
$pss=gen_rand_name(8,12);
$qst=gen_rand_name(15,30);
$an=gen_rand_name(15,30);
$gnd=mt_rand(1,2);
$dm=get_r_domain();
if(isset($_POST['noimgs']))
$immms='';
else
$immms='&x_'.$_SESSION['images'].'='.$imt;
$ret=socket_do('win.mail.ru',"back=&Count=1&ID=".$_SESSION['id'].'&x_'.$_SESSION['email'].'='.$eml
.'&RegistrationDomain='.$dm
.'&x_'.$_SESSION['lastname'].'='.$lname
.'&x_'.$_SESSION['firstname'].'='.$fname
.'&x_'.$_SESSION['birthday'].'='.$bday
.'&x_'.$_SESSION['birthyear'].'='.$byear
.'&BirthMonth='.$bmonth
.'&x_'.$_SESSION['pass1'].'='.$pss
.'&x_'.$_SESSION['pass2'].'='.$pss
.'&Password_Question=Custom'
.'&x_'.$_SESSION['question'].'='.$qst
.'&x_'.$_SESSION['ans'].'='.$an
.'&x_'.$_SESSION['gender'].'='.$gnd
.$immms
.'&security_image_id='
.'&x_reg_id='.$_SESSION['regid']
.'&B1='.urlencode(' Зарегистрировать почтовый ящик ')
,'/cgi-bin/reg',$browser,'',1,'POST','http://win.mail.ru/cgi-bin/signup',1,$pr,$pp);
if(strpos($ret,'Пользователь с таким именем уже зарегистрирован в системе')!==false)
die("errMsg(5);nextReg()");
if(strpos($ret,'Неверно указан код защиты от автоматических регистраций')!==false)
die("errMsg(4);nextReg()");
if(strpos($ret,'Превышен лимит регистраций с Вашего IP')!==false)
die("errMsg(6);nextReg()");
if(strpos($ret,'HTTP/1.1 302 Found')===0)
die("nextReg(1,'".$eml.'@'.$dm."','".$pss."');");
else
die("errMsg(2);nextReg()");
break;
default:
die();
}
}
function get_r_domain()
{
switch(mt_rand(1,4))
{
case 1:
return 'mail.ru';
break;
case 2:
return 'list.ru';
break;
case 3:
return 'bk.ru';
break;
case 4:
return 'inbox.ru';
break;
}
}
function socket_do($host,$vars,$service_uri,$browser,$cookies='',$sread=1,$method='POST',$ref='',$addheaders=1,$proxy=false,$proxyport=0,$HTTP='1.0')
{
global $ajax;
$ret="";
if($method=='GET' && $vars)
{
$service_uri.='?'.$vars;
$vars='';
}
$header="Host: $host\r\n";
$header.="User-Agent: $browser\r\n";
if($addheaders==1)
{
$header.="Content-Type: application/x-www-form-urlencoded\r\n";
$header.="Content-Length: ".strlen($vars)."\r\n";
}
else if($addheaders==0)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: \r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
}
else if($addheaders==2)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: \r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
$header.="Pragma: no-cache\r\n";
$header.="Cache-Control: no-cache\r\n";
$header.="Content-Length: ".strlen($vars)."\r\n";
$header.="Content-Type: application/x-www-form-urlencoded; charset=windows-1251\r\n";
}
else if($addheaders==3)
{
$header.="Accept: text/xml,application/xml,application/xhtml+xml,text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5\r\n";
$header.="Accept-Language: ru-ru,ru;q=0.8,en-us;q=0.5,en;q=0.3\r\n";
$header.="Accept-Encoding: gzip,deflate\r\n";
$header.="Accept-Charset: windows-1251,utf-8;q=0.7,*;q=0.7\r\n";
}
if($ref) $header.="Referer: $ref\r\n";
$header.="Connection: close\r\n";
if($cookies)
$header.="Cookie: $cookies\r\n";
$header.="\r\n";
if($proxy)
{
$addquery="$method http://$host$service_uri HTTP/$HTTP\r\n";
$fp=@fsockopen("tcp://".$proxy,$proxyport,$errno,$errstr,30);
}
else
{
$addquery="$method $service_uri HTTP/$HTTP\r\n";
$fp=@fsockopen("tcp://".$host,80,$errno,$errstr,30);
}
if(!$fp)
{
if($ajax)
print "addMes('<font color=red>Socket error: <i>$errstr ($errno)</i></font><br>');nextReg2();";
else
print "<font color=red>Socket error: <i>$errstr ($errno)</i></font>";
exit();
}
stream_set_timeout($fp,30);
fputs($fp,$addquery);
fputs($fp,$header.$vars);
if($sread)
{
while(!feof($fp))
{
$ret.=fgets($fp, 128);
}
}
fclose($fp);
return $ret;
}
function gen_rand_name($from,$to)
{
$name='';
for($i=0,$cnt=mt_rand($from,$to);$i<$cnt;$i++)
{
$name.=mt_rand(0,3)==3 ? mt_rand(0,9) : chr(mt_rand(97,122));
}
return $name;
}
?>
|