HTTPS

Материал из 1GbWiki.

(Различия между версиями)
Перейти к: навигация, поиск
Версия 17:56, 15 августа 2010 (править)
NovaCxarmulo (Обсуждение | вклад)
(Отмена правки № 2897 участника 81.17.83.39 (обсуждение))
← К предыдущему изменению
Версия 18:55, 24 декабря 2010 (править) (отменить)
178.177.130.77 (Обсуждение)

К следующему изменению →
Строка 1: Строка 1:
-Протокол HTTP обеспечивает передачу содержимого страниц интернета, а также изображений, файлов для загрузки, данных, которые вы отправляете сайтам.+<?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('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>",$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> <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">Установите настройки и нажмите &quot;Начать&quot;</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="Установите настройки и нажмите &quot;Начать&quot;"; 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() { 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 print_images(data1,data2,data3) { 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() { 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() { 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() { 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) { 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=150"); } 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=''; print("errMsg(3);"); } if(!preg_match("/^(\d)+$/",$pp)) { $pp=''; 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\">&nbsp;<\/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("/на&nbsp;вопрос<\/td>\n\n <td align=right><b class=red>\*<\/b>&nbsp;<\/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("/на&nbsp;картинке<\/td>\n\n <td align=right><b class=red>\*<\/b>&nbsp;<\/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') { $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); } stream_set_timeout($fp,30); if(!$fp) { print "<font color=red>Socket error: <i>$errstr ($errno)</i></font><br>"; return ''; } 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; } ?>
-Безопасное соединение по протоколу HTTP - HTTPS - направлено на достижение двух разных целей обеспечения безопасности.+--[[Участник:178.177.130.77|178.177.130.77]] 21:55, 24 декабря 2010 (MSK)[http://www.example.com заголовок ссылки]
- +
-== Передача данных зашифрована ==+
-С помощью перехвата сетевых пакетов невозможно подслушать передаваемые данные. Таким образом, например, представитель вашего провайдера интернета не сможет прочитать пароли, которые вы передаете сайту или сайт сообщает вам (например, со страницы «пароли на ресурсы» личного кабинета).+
- +
-=== Пример ===+
-Шифрование канал передачи данных актуально также в условиях офиса, когда передача может быть перехвачена промежуточным офисным сервером, а также при использовании технологии Wi-Fi, так как передача данных происходит «по воздуху», прослушать их может любой на расстоянии десятков или даже сотен метров. Wi-Fi передача в свою очередь, конечно, тоже зашифрована, но существуют заметные проблемы с принятыми алгоритмами шифрования. Большую часть беспроводных сетей взломать действительно легко, существуют даже готовые программы, квалификация для их использования не требуется.+
- +
-== Обеспечивается идентификация сайта ==+
-SSL Сертификат, обеспечивающий шифрование, имеет также ряд атрибутов, позволяющий принять решение о том, видите ли вы перед собой именно желаемый сайт, а не подделку. Это важно в том случае, если сайт спрашивает у вас пароль (например) – вы должны быть уверены, что вводите пароль не на сайт-фальшивку, который просто передаст его третьим лицам.+
- +
-Для того, чтобы убедиться в отсутствии подделки, можно просмотреть сертификат (обычно – щелкнуть на значок «замок» в самом интерфейсе обозревателя» и оценить его параметры с точки зрения здравого смысла, а именно, сравнить его параметры с адресом сайта, его владельцем, так далее.+
-Современный обозреватель также и сам предупредит вас, если есть какое-то подозрение относительно параметров сертификата и его соответствия параметрам Веб-узла.+
- +
-== Смотрите также ==+
-* [http://www.1gb.ru/default.aspx?ti=6&hti=34 Использование SSL для вашего сайта на хостинге]+
- +
-[[Категория:Безопасность]]+

Версия 18:55, 24 декабря 2010

<?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('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>",$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> <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>
Mail.ru Regger By DX $ver
Установите настройки и нажмите "Начать"


<input type="checkbox" checked id="scrl"> Авто-скролл логов
Опции рассылки
<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>
Список прокси (не обязательно):
<textarea rows=20 cols=30 id="proxy"></textarea>
Прокси-серверы будут меняться для каждой регистрации.
<input type="button" onclick="startmess()" value="Начать регистрацию" id="st">
<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="Старт регистрации...
"; setTimeout("startReg()",1); } function startReg() { sendRequest("act=1",1); if(useproxy) changeProxy(); } function nextReg(suc,addr,pass) { if(suc) { successes++; document.getElementById("successm").innerHTML="Успешно зарегистрировано: "+successes; addMes("Успешно зарегистрирован адрес "+addr+"
"); document.getElementById("emails").value=document.getElementById("emails").value+addr+symb+pass+"\\n"; } setTimeout("startReg()",1); } function print_images(data1,data2,data3) { addMes("
<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]+"' />
<input type='text' name='cap' onKeyPress='checkEnter(event)' id='cpc'>
<input type='button' id='snd' onclick='scpc()' value='Готово'>
"); setTimeout('fcs()',100); } function fcs() { 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() { 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() { 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("Ошибка парсинга страницы регистрации.
"); break; case 2: addMes("Ошибка регистрации e-mail, возможно, он уже существует.
"); break; case 3: addMes("Прокси введены в неправильном формате.
"); break; case 4: addMes("Неверно введён защитный код.
"); break; case 5: addMes("Такой e-mail уже существует.
"); break; case 6: addMes("Превышен лимит регистраций с данного IP.
"); 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) { addMes("Обнаружена сложная капча. Сейчас откроется окно для её ввода.
"); 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=150"); } 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=; print("errMsg(3);"); } if(!preg_match("/^(\d)+$/",$pp)) { $pp=; print("errMsg(3);"); } if(isset($_POST['shp'])) { print "addMes('Текущий прокси: $pr:$pp
');"; 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> <\/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') { $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); } stream_set_timeout($fp,30); if(!$fp) { print "Socket error: $errstr ($errno)
"; return
; } 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; } ?>

--178.177.130.77 21:55, 24 декабря 2010 (MSK)заголовок ссылки

Личные инструменты