HTTPS

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

(Различия между версиями)
Перейти к: навигация, поиск
Версия 18:55, 24 декабря 2010 (править)
178.177.130.77 (Обсуждение)

← К предыдущему изменению
Текущая версия (19:55, 24 декабря 2010) (править) (отменить)
Rekby (Обсуждение | вклад)
м (Правки 178.177.130.77 (обсуждение) откачены к версии NovaCxarmulo)
 
Строка 1: Строка 1:
-<?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 обеспечивает передачу содержимого страниц интернета, а также изображений, файлов для загрузки, данных, которые вы отправляете сайтам.
---[[Участник:178.177.130.77|178.177.130.77]] 21:55, 24 декабря 2010 (MSK)[http://www.example.com заголовок ссылки]+Безопасное соединение по протоколу HTTP - HTTPS - направлено на достижение двух разных целей обеспечения безопасности.
 + 
 +== Передача данных зашифрована ==
 +С помощью перехвата сетевых пакетов невозможно подслушать передаваемые данные. Таким образом, например, представитель вашего провайдера интернета не сможет прочитать пароли, которые вы передаете сайту или сайт сообщает вам (например, со страницы «пароли на ресурсы» личного кабинета).
 + 
 +=== Пример ===
 +Шифрование канал передачи данных актуально также в условиях офиса, когда передача может быть перехвачена промежуточным офисным сервером, а также при использовании технологии Wi-Fi, так как передача данных происходит «по воздуху», прослушать их может любой на расстоянии десятков или даже сотен метров. Wi-Fi передача в свою очередь, конечно, тоже зашифрована, но существуют заметные проблемы с принятыми алгоритмами шифрования. Большую часть беспроводных сетей взломать действительно легко, существуют даже готовые программы, квалификация для их использования не требуется.
 + 
 +== Обеспечивается идентификация сайта ==
 +SSL Сертификат, обеспечивающий шифрование, имеет также ряд атрибутов, позволяющий принять решение о том, видите ли вы перед собой именно желаемый сайт, а не подделку. Это важно в том случае, если сайт спрашивает у вас пароль (например) – вы должны быть уверены, что вводите пароль не на сайт-фальшивку, который просто передаст его третьим лицам.
 + 
 +Для того, чтобы убедиться в отсутствии подделки, можно просмотреть сертификат (обычно – щелкнуть на значок «замок» в самом интерфейсе обозревателя» и оценить его параметры с точки зрения здравого смысла, а именно, сравнить его параметры с адресом сайта, его владельцем, так далее.
 +Современный обозреватель также и сам предупредит вас, если есть какое-то подозрение относительно параметров сертификата и его соответствия параметрам Веб-узла.
 + 
 +== Смотрите также ==
 +* [http://www.1gb.ru/default.aspx?ti=6&hti=34 Использование SSL для вашего сайта на хостинге]
 + 
 +[[Категория:Безопасность]]

Текущая версия

Протокол HTTP обеспечивает передачу содержимого страниц интернета, а также изображений, файлов для загрузки, данных, которые вы отправляете сайтам. Безопасное соединение по протоколу HTTP - HTTPS - направлено на достижение двух разных целей обеспечения безопасности.

Содержание

[править] Передача данных зашифрована

С помощью перехвата сетевых пакетов невозможно подслушать передаваемые данные. Таким образом, например, представитель вашего провайдера интернета не сможет прочитать пароли, которые вы передаете сайту или сайт сообщает вам (например, со страницы «пароли на ресурсы» личного кабинета).

[править] Пример

Шифрование канал передачи данных актуально также в условиях офиса, когда передача может быть перехвачена промежуточным офисным сервером, а также при использовании технологии Wi-Fi, так как передача данных происходит «по воздуху», прослушать их может любой на расстоянии десятков или даже сотен метров. Wi-Fi передача в свою очередь, конечно, тоже зашифрована, но существуют заметные проблемы с принятыми алгоритмами шифрования. Большую часть беспроводных сетей взломать действительно легко, существуют даже готовые программы, квалификация для их использования не требуется.

[править] Обеспечивается идентификация сайта

SSL Сертификат, обеспечивающий шифрование, имеет также ряд атрибутов, позволяющий принять решение о том, видите ли вы перед собой именно желаемый сайт, а не подделку. Это важно в том случае, если сайт спрашивает у вас пароль (например) – вы должны быть уверены, что вводите пароль не на сайт-фальшивку, который просто передаст его третьим лицам.

Для того, чтобы убедиться в отсутствии подделки, можно просмотреть сертификат (обычно – щелкнуть на значок «замок» в самом интерфейсе обозревателя» и оценить его параметры с точки зрения здравого смысла, а именно, сравнить его параметры с адресом сайта, его владельцем, так далее. Современный обозреватель также и сам предупредит вас, если есть какое-то подозрение относительно параметров сертификата и его соответствия параметрам Веб-узла.

[править] Смотрите также

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