Скрипты от скуки

Discussion in 'PHP' started by bul.666, 9 Jan 2008.

  1. Gener

    Gener Member

    Joined:
    31 Aug 2006
    Messages:
    8
    Likes Received:
    8
    Reputations:
    0
    ок) просто под рукой попался... думаю может кому надо!
    свои обязательно выложу... будет время, сейчас просто занят над одним делом!!!
     
  2. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    PHP:
    <?
    function 
    keys($url){
    $openn=file_get_contents($url);
    preg_match_all( '/words" content=(.*)>/iUs' , $openn,$key); 
    sleep(1);
    $key[0][0] = str_replace('words" content=', "", $key[0][0]);
    $key[0][0] = str_replace('"', "", $key[0][0]);
    $key[0][0] = str_replace('>', "", $key[0][0]);
    $key[0][0] = str_replace('/', "", $key[0][0]);
    $fp=fopen("base.txt","ab");
    fwrite($fp,$url."=".$key[0][0].'\n');
    fclose($fp);

    }
    keys("http://mail.ru/");
    ?>

    Скрипт выдерает из страницы ключевые слова в мета. И сохраняет их в базе...
    Могли бы переделать точно также только урл ссылки выдерает...
     
  3. NNNS

    NNNS Elder - Старейшина

    Joined:
    26 May 2007
    Messages:
    44
    Likes Received:
    28
    Reputations:
    -5
    Скрипт чекает короткие домены в зонах .ru, .su

    [​IMG]

    PHP:
    <?
    error_reporting  (0);
    set_time_limit   (0);
    #-------------------------------------*
    #        short domain checker
    #        by NNNS {icq: 474374}
    #-------------------------------------*
    ?>
    <!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>short domain checker by NNNS</title>
    <style type="text/css">
    <!--
    body,td,th {
    }
    .titler {
        font-family: Georgia, "Times New Roman", Times, serif;
        font-size: 24px;
        color: #666666;
        border-bottom-width: 1px;
        border-bottom-style: dashed;
        border-bottom-color: #3399FF;
    }
    .error {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        color: #B0B0B0;
        border-bottom-width: 1px;
        border-bottom-style: dashed;
        border-bottom-color: #E25053;
        text-align: center;
    }
    .titler:hover {
        color: #3399FF;
        border-bottom-color: #666666;
    }
    .edit {
        font-family: Georgia, "Times New Roman", Times, serif;
        font-size: 12px;
        color: #3399FF;
        border: 1px solid #E8E8E8;
        height: 16px;
        width: 50px;
        text-align: center;
        margin-right: 2px;
    }
    .true {
        font-size: 12px;
        color: #9ABB26;
        font-family: Arial, Helvetica, sans-serif;
    }
    .text {
        font-family: Georgia, "Times New Roman", Times, serif;
        color: #B0B0B0;
        font-size: 12px;
    }
    .buttoncheg {
        font-family: Georgia, "Times New Roman", Times, serif;
        font-size: 12px;
        color: #B0B0B0;
        border: 1px solid #E8E8E8;
        background-color: #FFFFFF;
        height: 20px;
        width: 50px;
    }
    .false {
        font-size: 12px;
        color: #CC090E;
        font-family: Arial, Helvetica, sans-serif;
    }
    .tables {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 12px;
        border-bottom-width: 1px;
        border-bottom-style: solid;
        border-bottom-color: #ECF5FF;
    }
    .text2 {
        font-family: Arial, Helvetica, sans-serif;
        color: #B0B0B0;
        font-size: 12px;
    }
    .text3 {
        font-family: Arial, Helvetica, sans-serif;
        color: #3399FF;
        font-size: 12px;
    }
    .selecte {
        font-family: Georgia, "Times New Roman", Times, serif;
        font-size: 10px;
        color: #3399FF;
        border: 1px solid #E8E8E8;
        height: 18px;
        width: 100px;
        text-align: center;
        margin-right: 2px;
    }
    .edit2 {
        font-family: Georgia, "Times New Roman", Times, serif;
        font-size: 12px;
        color: #3399FF;
        border: 1px solid #E8E8E8;
        height: 16px;
        width: 75px;
        text-align: center;
        margin-right: 2px;
    }
    .selecte2 {
        font-family: Georgia, "Times New Roman", Times, serif;
        font-size: 10px;
        color: #3399FF;
        border: 1px solid #E8E8E8;
        height: 18px;
        width: 40px;
        text-align: center;
        margin-right: 2px;
    }
    -->
    </style>
    </head>
    <body><form method="post" action="">
    <table width="100%" border="0" cellpadding="0" cellspacing="0">
      <tr>
        <td align="center" valign="middle"><span class="titler">short domain checker</span><br />
          <br />    </td>
      </tr>
      <tr>
        <td align="center" valign="middle"><table border="0" cellpadding="0" cellspacing="0">
          <tr>
            <td valign="middle"><span class="text">Длина домена</span>&nbsp;</td>
            <td width="50" valign="middle"><input name="number" type="text" class="edit" id="number" value="<?=$number;?>" /></td>
            <td valign="middle"><span class="text">&nbsp;Количество доменов&nbsp;</span></td>
            <td width="50" valign="middle"><input name="domain_nums" type="text" class="edit" id="domain_nums" value="<?=$domain_nums;?>" /></td>
            <td valign="middle" class="text">Тип домена </td>
            <td valign="middle"><select name="domtype" class="selecte">
              <option value="1">Только буквы</option>
              <option value="2">Только цифры</option>
              <option value="0">Буквы и цифры</option>
            </select>        </td>
            <td valign="middle" class="text">Зона</td>
            <td valign="middle">
              <select name="zone" id="zone" class="selecte2">
                <option value="1">.ru</option>
                <option value="2">.su</option>
              </select>
            </label></td>
            <td width="50" valign="middle"><input name="submit" type="submit" class="buttoncheg" id="submit" value="Check" /></td>
          </tr>
        </table>
          <br /></td>
        </tr>
    </table>
    </form>
    <?php

    $number 
    = intval($_POST['number']);          
    $domain_nums = intval($_POST['domain_nums']);
    $domtype = intval($_POST['domtype']);
    $zone = intval($_POST['zone']);

    if (
    $zone == '1') {$zone = ".ru";}
    if (
    $zone == '2') {$zone = ".su";}
    $whois = "whois.ripn.ru";                   
    $not_found = "No entries found";    

    if (
    $number == '') {$number = 5;}
    if (
    $number < '0') {$number = 5;}
    if (
    $number == '2') {$number = 3;}
    if (
    $number > 20) {$number = 20;}  

    if (
    $domain_nums == '') {$domain_nums = 3;}
    if (
    $domain_nums < '0') {$domain_nums = 3;}       

    function 
    generate_domain($number, $type)  
    {  
        if (
    $type == '0') {
        
    $arr = array(
        
    'a','b','c','d','e','f',  
        
    'g','h','i','j','k','l',  
        
    'm','n','o','p','r','s',  
        
    't','u','v','x','y','z',  
        
    '1','2','3','4','5','6',  
        
    '7','8','9','0');  
        }
        if (
    $type == '1') {
        
    $arr = array(
        
    'a','b','c','d','e','f',  
        
    'g','h','i','j','k','l',  
        
    'm','n','o','p','r','s',  
        
    't','u','v','x','y','z');  
        }
        if (
    $type == '2') {
        
    $arr = array(
        
    '1','2','3','4',
        
    '5','6','7','8',
        
    '9','0');  
        }
        for(
    $i = 0; $i < $number; $i++)  
        {   
            
    $index = rand(0, count($arr) - 1);  
            
    $dom .= $arr[$index];  
        }  
        return 
    $dom;  
    }

    if(
    $_POST['submit'])
    {
        echo 
    "<center><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"tables\">
                    <tr>
                  <td width=\"100\" valign=\"middle\" class=\"text2\">Домен</td>
                     <td width=\"70\" valign=\"middle\" class=\"text3\">Годен до</td>
                  <td width=\"150\" valign=\"middle\" class=\"text2\">Хост</td>
                  <td width=\"70\" valign=\"middle\" class=\"text3\">Статус</td>
                   </tr>
                  </table></center>"
    ;
        for(
    $i = 0; $i < $domain_nums; $i++)  
        {      
            
    $domain = generate_domain($number,$domtype);
            
    $domain = $domain.$zone;
            
    $fp = fsockopen($whois, 43);
            
    fputs($fp, "$domain\r\n");
            
    $str = "";
            while(!
    feof($fp))            
            {
                
    $str .= fgets($fp,128);        
            }
            
    fclose($fp);
            if(
    preg_match("/Please try to connect later/is",$str)) 
            {
                die(
    "<br><center><span class =\"error\" >Превышен лимит запросов к ".$whois." :(</span></center></body></html>");
            }
            
            if(!
    preg_match("/".$not_found."/is", $str))
            {
                
    preg_match("/paid-till:(.*?)\\n/is", $str, $edate);
                
    preg_match("/nserver:(.*?)\\n/is", $str, $serv);
                
    $edate  = $edate[1];
                
    $serv   = str_replace("ns.", "",$serv[1]);     
                
    $serv   = str_replace("ns1.", "",$serv);
                
    $serv   = str_replace("ns2.", "",$serv);    
                
    $serv   = str_replace("ns3.", "",$serv);
                
    $serv   = str_replace("ns4.", "",$serv);
                
    $serv   = str_replace("ns0.", "",$serv);
                
    $status = "<span class =\"false\">Занят</span><br>";
            }
            else
            {
                
    $edate  = " - ";
                
    $serv   = " - ";
                
    $status = "<span class =\"true\">Свободен</span><br>";
            }
            echo 
    "<center><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"tables\">
                    <tr>
                  <td width=\"100\" valign=\"middle\" class=\"text2\">
    $domain</td>
                     <td width=\"70\" valign=\"middle\" class=\"text3\">
    $edate</td>
                  <td width=\"150\" valign=\"middle\" class=\"text2\">
    $serv</td>
                  <td width=\"70\" valign=\"middle\">
    $status</td>
                   </tr>
                  </table></center>"
    ;
            
    ob_flush();
            
    flush();        
        }
    }
    ?>
    </body>
    </html>
     
    #23 NNNS, 12 Jan 2008
    Last edited: 12 Jan 2008
    1 person likes this.
  4. NNNS

    NNNS Elder - Старейшина

    Joined:
    26 May 2007
    Messages:
    44
    Likes Received:
    28
    Reputations:
    -5
    Приглашалка в группу (ВКонтакте.ру)

    [​IMG]

    PHP:
    <?
    #&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
    #&   Vkontakte.ru group inviter
    #&     By NNNS {icq: 474374}
    #&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&

    error_reporting(0);
    set_time_limit(0);
    # Всякие переменные
    $user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.11";

    $begin = intval($_POST['begin']);
    $end = intval($_POST['end']);
    $gid = intval($_POST['gid']);
    $email = strip_tags($_POST['email'], "");
    $pass = strip_tags($_POST['pass'], "");

    if(
    $begin == '') {$begin = "0";}
    if(
    $end == '') {$end = "0";}
    if(
    $gid == '') {$gid = "0";}
    ?>
    <!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=windows-1251" />
    <title>ВКонтакте инвайтер (С) NNNS</title>
    <style type="text/css">
    <!--
    .tablichko {
        font-family: Arial, Helvetica, sans-serif;
        background-color: #F7FCFD;
        border-top-width: 1px;
        border-bottom-width: 1px;
        border-top-style: solid;
        border-bottom-style: solid;
        border-top-color: #E0F3F8;
        border-bottom-color: #E0F3F8;
        height: 100px;
    }
    .tit {
        font-family: Georgia, "Times New Roman", Times, serif;
        font-size: 24px;
        color: #1C6679;
    }
    .comment {
        font-family: Arial, Helvetica, sans-serif;
        font-size: 10px;
        color: #289AB7;
    }
    .inputko {
        font-size: 12px;
        color: #289AB7;
        height: 16px;
        text-align: center;
        border-top-width: 1px;
        border-left-width: 1px;
        border-top-style: solid;
        border-right-style: none;
        border-bottom-style: solid;
        border-left-style: solid;
        border-top-color: #E0F3F8;
        border-left-color: #E0F3F8;
        border-bottom-width: 1px;
        border-bottom-color: #E0F3F8;
    }
    .inputko:focus {
        background-color: #E8F5F9;
    }
    .inputko2:focus {
        background-color: #E8F5F9;
    }
    .inputko3:focus {
        background-color: #FFF;
    }
    .buttoncheg {
        color: #FFFFFF;
        background-color: #1C6679;
        border: 1px solid #E0F3F8;
        height: 20px;
        font-size: 12px;
        width: 80px;
    }
    .inputko2 {
        font-size: 12px;
        color: #289AB7;
        height: 16px;
        text-align: center;
        border-top-width: 1px;
        border-top-style: solid;
        border-right-style: solid;
        border-bottom-style: solid;
        border-left-style: none;
        border-top-color: #E0F3F8;
        border-bottom-width: 1px;
        border-bottom-color: #E0F3F8;
        border-right-width: 1px;
        border-right-color: #E0F3F8;
    }
    .inputko3 {
        font-size: 12px;
        color: #289AB7;
        height: 16px;
        text-align: center;
        width: 78px;
        border-right-width: 1px;
        border-bottom-width: 1px;
        border-left-width: 1px;
        border-top-style: none;
        border-right-style: solid;
        border-bottom-style: solid;
        border-left-style: solid;
        border-right-color: #E0F3F8;
        border-bottom-color: #E0F3F8;
        border-left-color: #E0F3F8;
        background-color: #F7FCFD;
    }
    .vtab {
        color: #48BAD7;
        border-bottom-width: 1px;
        border-bottom-style: solid;
        border-bottom-color: #DFF3F9;
        font-size: 12px;
        font-family: Arial, Helvetica, sans-serif;
    }
    -->
    </style>
    </head>
    <body>
    <form method="post" action="">
    <table width="100%" border="0" cellpadding="0" cellspacing="0" class="tablichko">
      <tr>
        <td align="center" valign="middle"><span class="tit">      ВКонтакте инвайтер<br />
        </span>
          <table border="0" cellpadding="0" cellspacing="0">
        <tr>
          <td colspan="2" align="center" valign="middle" bgcolor="#FDFFFF" class="comment">Диапазон пользователей (с/до) </td>
          <td valign="top">&nbsp;</td>
          <td width="100" align="center" valign="middle" bgcolor="#FDFFFF" class="comment">email  </td>
          <td width="100" align="center" valign="middle" bgcolor="#FDFFFF" class="comment">пароль</td>
        </tr>
        <tr>
          <td valign="top"><input name="begin" type="text" class="inputko" id="begin" value="<?=$begin;?>" /></td>
          <td valign="top"><input name="end" type="text" class="inputko" id="end" value="<?=$end;?>" /></td>
          <td valign="top"><input name="submit" type="submit" class="buttoncheg" id="submit" value="Пригласить" /></td>
          <td width="100" valign="top"><input name="email" type="text" class="inputko2" id="email" value="<?=$email;?>" /></td>
          <td width="100" valign="top"><input name="pass" type="text" class="inputko2" id="pass" value="<?=$pass;?>" /></td>
        </tr>
        <tr>
          <td valign="top">&nbsp;</td>
          <td align="right" valign="middle"><span class="comment">ID группы &gt;</span></td>
          <td align="center" valign="middle" bgcolor="#FDFFFF" class="error"><input name="gid" type="text" class="inputko3" id="gid" value="<?=$gid;?>" /></td>
          <td width="200" colspan="2" valign="middle">&nbsp;</td>
        </tr>
      </table></td>
      </tr>
    </table>
    </form>
    <br />
    <?php
    if ($_POST['submit']) {
    # Соединяемся с сервером ВКонтакте.ру
    $fp=fsockopen("vkontakte.ru",80,$errno,$errstr,10);
    if (!
    fp) {die();}
    # Авторизуемся
    $out = "GET /login.php?email=".$email."&pass=".$pass." HTTP/1.0\r\n";
    $out .= "Host: vkontakte.ru\r\n";
    $out .= "User-Agent: ".$user_agent."\r\n";
    $out .= "Cookie: income=1\r\n";
    $out .= "Content-Type:text/xml; charset=windows-1251\r\n\r\n";
    fwrite($fp,$out);
    $ans='';
    while(!
    feof($fp)) 
    {
        
    $ans.=fgets($fp,128);
    }
    fclose($fp);
    # вытаскиваем кукисы из ответа сервера
    preg_match("/revalidate(.*?)Location/is", $ans, $cookies);
    $cookies = str_replace("Set-Cookie: ", "",$cookies[1]);
    preg_match("/remixchk(.*?);/is", $cookies, $cook1);
    preg_match("/remixmid(.*?);/is", $cookies, $cook2);
    preg_match("/remixemail(.*?);/is", $cookies, $cook3);
    preg_match("/remixpass(.*?);/is", $cookies, $cook4);
    $cook1 = "remixchk=".$cook1[1]."; ";
    $cook2 = "remixmid=".$cook2[1]."; ";
    $cook3 = "remixemail=".$cook3[1]."; ";
    $cook4 = "remixpass=".$cook4[1]."; ";
    $acook = $cook1.$cook2.$cook3.$cook4;
    $acook = str_replace ("==", "=", $acook);
    # Открываем новое соединение
    for($i=$begin;$i<$end;$i++) {
    $fp=fsockopen("vkontakte.ru",80,$errno,$errstr,10);
    $out  = "GET /groups.php?act=ajaxinv&gid=".$gid."&id=".$i." HTTP/1.0\r\n";  
    $out .= "Host: vkontakte.ru\r\n"; 
    $out .= "User-Agent: ".$user_agent."\r\n"; 
    $out .= "Cookie: ".$acook."\r\n\r\n";
    fwrite($fp, $out);
    $ans='';
    while(!
    feof($fp))
    {
        
    $ans.=fgets($fp,128);
    }
    # достаем результат
    preg_match("/>(.*?)</is", $ans, $result);
    # Выводим его
    echo "<center><table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" class=\"vtab\">
      <tr>
        <td width=\"70\" valign=\"middle\">"
    .$i."</td>
        <td width=\"350\" valign=\"middle\">"
    .$result[1]."</td>
      </tr>
    </table><center>"
    ;
    ob_flush();
    flush();
    fclose($fp);
    sleep(1);
    }
    }
    ?>

    </body>
    </html>
     
    4 people like this.
  5. Doom123

    Doom123 Elder - Старейшина

    Joined:
    11 Nov 2006
    Messages:
    749
    Likes Received:
    244
    Reputations:
    22
    Подбор пароля до 16 символов [a-z][A-Z][0-9]

    криво написаный! под md5 но легко переделать под любую другую функцию

    Пароли больше 5 символов подбирать не советую хотя и 5 это перебор...

    Практиковался в php

    PHP:
    <?
    ini_set("max_execution_time", 99999999);
    $hash = "2fad8504df72a9e32bdd6f9c2611900d";
    $a = array(); $b = array(); $c = array(); $d = array();
    for(
    $i=0; $i <= 9; $i++) {
    $a[] = $i;} 

    for(
    $i=97; $i <= 122; $i++) {
    $b[] = chr($i);} 

    for(
    $i=65; $i <= 90; $i++) {
    $c[] = chr($i);} 
    $d = array_merge($a, $b, $c);

    for (
    $e=0, $f=(-1), $g=(-1), $h=(-1), $i=(-1), $j=(-1), $k=(-1), $l=(-1), $m=(-1), $n=(-1), $o=(-1), $p=(-1), $r=(-1), $s=(-1), $t=(-1), $u=(-1); $e <= 61; $e++) {
    @
    $cde = $d[$e].$d[$f].$d[$g].$d[$h].$d[$i].$d[$j].$d[$k].$d[$l].$d[$m].$d[$n].$d[$o].$d[$p].$d[$r].$d[$s].$d[$t].$d[$u];
    if (
    $hash == md5($cde)) {echo $cde; break;}
    if(
    $e==61) {$f++; $e=(-1);} if($f==62) {$g++; $f=0;} if($g==62) {$h++; $g=0;} if($h==62) {$i++; $h=0;}
    if(
    $i==62) {$j++; $i=0;} if($j==62) {$k++; $j=0;} if($k==62) {$l++; $k=0;} if($l==62) {$m++; $l=0;} 
    if(
    $m==62) {$n++; $m=0;} if($n==62) {$o++; $n=0;} if($o==62) {$p++; $o=0;} if($p==62) {$r++; $p=0;}
    if(
    $r==62) {$s++; $r=0;} if($s==62) {$t++; $s=0;} if($t==62) {$u++; $t=0;} if($u == 62) {echo "Не найдено"; break;}
    }
    ?>
     
    #25 Doom123, 18 Jan 2008
    Last edited: 18 Jan 2008
  6. NNNS

    NNNS Elder - Старейшина

    Joined:
    26 May 2007
    Messages:
    44
    Likes Received:
    28
    Reputations:
    -5
    Еще одна мегахрень от меня, которую я написал коротая время на уроке литературы

    Функция определяет статус пользователя MRA (Mail.ru Agent)
    PHP:
    <?php
    $mail 
    = $_SERVER['QUERY_STRING'];
    function 
    mra_status ($mail) 
    {

        
    $offline    = "a46f044e175e9b1b28c8d9a9f66f4495";
        
    $online     = "b3b974fe114d5fba50b9658641a7a393";
        
    $away       = "89d1bfcdbf238e7faa6aeb278c27b676";
        
    $status     = md5_file("http://status.mail.ru/?".$mail);
        
    $mra_status = "";
        if (
    $status == $offline) 
        {
            
            
    $mra_status = "offline";

        }
        else 
        {
            if (
    $status == $online) 
            {
                
    $mra_status = "online";
            }

            else 
            {
                if (
    $status == $away) 
                {
                    
    $mra_status = "away";
                }

            }


        }    return 
    $mra_status;
    }

    echo 
    mra_status($mail);

    ?>
    Пример : http://nnns.ru/scripts/mra/?[Ваш_email]
     
    #26 NNNS, 9 Feb 2008
    Last edited: 9 Feb 2008
    1 person likes this.
  7. Marikontos

    Marikontos New Member

    Joined:
    29 Jan 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Здравствуйте!!! А скажите пожалуйста по поводу Приглашалки в группу vkontakte. Я залил на хостинг, заполняю все поля, нажимаю пригласить а мне в ответ Невозможно отобразить страницу. Ответьте пожалуйста, чего нада сделать?
     
  8. Marikontos

    Marikontos New Member

    Joined:
    29 Jan 2008
    Messages:
    2
    Likes Received:
    0
    Reputations:
    0
    Товарищи!!! Ну скажите в чём же может быть проблема?
     
  9. Xcontrol212

    Xcontrol212 Elder - Старейшина

    Joined:
    13 Feb 2008
    Messages:
    253
    Likes Received:
    110
    Reputations:
    7
    проверь права))))))
    мб данный скриптнеработает на бесплатном хостинге=)
     
    1 person likes this.
  10. -Hormold-

    -Hormold- Кто, если не ты?

    Joined:
    29 Sep 2007
    Messages:
    418
    Likes Received:
    290
    Reputations:
    44
    Что за хост?
     
  11. NNNS

    NNNS Elder - Старейшина

    Joined:
    26 May 2007
    Messages:
    44
    Likes Received:
    28
    Reputations:
    -5
    ВКонтакте АККчекер 0.1

    Скрипт чекает аккаунты Вконтакте.ру на валидность.

    Для работы требуется хост с поддержкой сокетов.
    Залейте скрипт на хостинг.
    Создайте файл "valid.txt" поставьте на него права на запись.
    В файл "accounts.txt" вставьте список аккаунтов. "E-mail;Pass"
    PHP:
    <?php
    #&-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|
    #&-------------------------------
    #&     ВКонтакте АККчекер    0.1
    #&     VKontakte ACCchecker  0.1
    #&     By NNNS::[icq: 474374] 
    #&     All lefts reserved.
    #&-------------------------------
    #&-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|-|

    # Отключаем ограничение на время выполнения скрипта
    set_time_limit(0);
    # User Agent
    $user_agent = "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.8.1.11) Gecko/20071127 Firefox/2.0.0.12"; 
    # Файл с аккаунтами
    $acclist = "accounts.txt";
    # Файл с валидными аккаунтами
    $vallist = "valid.txt";
    # Помещаем аккаунты в массив
    $account = file($acclist);
    # Рабочие аккаунты
    $valid   = 0;
    # Нерабочие аккаунты
    $invalid = 0;

    function 
    vkCheck($email,$pass) { 
        
    # Открываем сокет
        
    $fp=fsockopen("vkontakte.ru",80,$errno,$errstr,10); 
        
    # Отправляем заголовки
        
    $out = "GET /login.php?email=".$email."&pass=".$pass." HTTP/1.0\r\n"; 
        
    $out .= "Host: vkontakte.ru\r\n"; 
        
    $out .= "User-Agent: ".$user_agent."\r\n"; 
        
    $out .= "Cookie: income=1\r\n"; 
        
    $out .= "Content-Type:text/xml; charset=windows-1251\r\n\r\n"; 
        
    fwrite($fp,$out); 
        
    # Записываем ответ сервера в переменную
        
    $ans=fgets($fp,128); 
        
    # Закрываем сокет
        
    fclose($fp); 
        
    # Если 302 найден, значит акк валидный
        
    if(preg_match("/\b302 Found\b/is", $ans)) {
            return 
    true;
        } else {
            return 
    false;
        }
    }
    # Запускаем цикл
    for($i=0;$i<count($account);$i++) {
        
    # Удаляем симолы перевода строки
        
    $caccaunt          = str_replace("\r\n","",$account[$i]);
        
    # Разбиваем на e-mail и пароль
        
    list($email,$pass) = explode(";",$caccaunt);
        
    # Вызываем функцию проверки аккаунта
        
    $answer            = vkCheck($email,$pass);
        
    # Если аккаунт рабочий, записываем его в файл
        
    if ($answer == true) {
            
    $fd = fopen($vallist,"a+");
            
    fputs($fd,$account[$i]);
            
    fclose($fd);
            
    $valid++;
        } else {
            
    $invalid++;    
        }
    }
    # Выводим результат
    echo "Рабочих аккаунтов: ".$valid."<br>Нерабочих аккаутов: ".$invalid;
    ?>
     
    1 person likes this.
  12. Foxtrot1

    Foxtrot1 Elder - Старейшина

    Joined:
    27 Mar 2008
    Messages:
    0
    Likes Received:
    15
    Reputations:
    5
    все таки выложил :) и хорошо... на благо общества , кста я юзал его - работает как часы +1. Только когда файл accounts.txt перегружаешь большим количеством аков результат не выдает, но все равно записывает(просто скачиваю valid.txt и все...
     
    #32 Foxtrot1, 27 Mar 2008
    Last edited: 27 Mar 2008
  13. LolFEm

    LolFEm Elder - Старейшина

    Joined:
    8 Sep 2006
    Messages:
    160
    Likes Received:
    52
    Reputations:
    5
    to Хелпер

    пофикси багу деление на 0
     
    1 person likes this.
  14. astrologer

    astrologer Elder - Старейшина

    Joined:
    30 Aug 2007
    Messages:
    837
    Likes Received:
    267
    Reputations:
    59
    Хелпер, Мне кажется, ты недопонял конструкцию switch.
    PHP:
    switch ($num3) 
    { 
    case 
    "+"; 
    echo 
    $num1 + $num2; 
    } 
    switch (
    $num3) 
    { 
    case 
    "-"; 
    echo 
    $num1 - $num2; 
    } 
    switch (
    $num3) 
    { 
    case 
    "*"; 
    echo 
    $num1 * $num2; 
    } 
    switch (
    $num3) 
    { 
    case 
    "/"; 
    echo 
    $num1 / $num2; 
    }

    PHP:
    switch ($num3) 
    { 
      case 
    '+':
      echo 
    $num1 + $num2;
      break;

      case 
    '-':
      echo 
    $num1 - $num2; 
      break;

      case 
    '*': 
      echo 
    $num1 * $num2; 
      break;

      case 
    '/':
      echo 
    $num1 / $num2; 
      break;

      default:
      echo 
    'Какой-то левый параметр.';
    }
     
    1 person likes this.
  15. Ponchik

    Ponchik Хлебо-булочное изделие

    Joined:
    30 Aug 2005
    Messages:
    687
    Likes Received:
    807
    Reputations:
    311
    Самый трушный мой скрипт от скуки, это мне совсем нечего было делать :)
    PHP:
    <?php
    function genStr($min,$max) {
        
    $glas = 'уеыаоэяию'; #гласный букафке
        
    $soglas = 'цкнгшщзхфвпрлджчсмтб'; #сагласные
        
    $to = rand($min,$max);
        
    $ret = '';
        for(
    $i=0;$i<$to;$i++) {
            if(
    $i%2) $ret .= $glas[rand(0,strlen($glas)-1)];
            else 
    $ret .= $soglas[rand(0,strlen($soglas)-1)];
        }
        
    $ret[0] = strtoupper($ret[0]);
        return 
    $ret;
    }
    ?>
    Генерит иногда оч ржачные слова
    genStr(мин.букавок, максимум);
    Запускаем, прёмся :D
    PHP:
    <?php
    for($i=0;$i<10;$i++) {
        echo 
    genStr(3,10).'<br>';
    }
    ?>
     
    5 people like this.
  16. Phm.phx

    Phm.phx Banned

    Joined:
    12 Jan 2008
    Messages:
    73
    Likes Received:
    232
    Reputations:
    1
    PHP:
    <?
    $i= "<script>alert("С 1 апреля") </script><br>"
    for ($i; ; )
    {
    echo 
    $i
    }
    ?>
     
    1 person likes this.
  17. NOmeR1

    NOmeR1 Everybody lies

    Joined:
    2 Jun 2006
    Messages:
    1,068
    Likes Received:
    783
    Reputations:
    213
    Code:
    <script> while(true) { alert("С 1 апреля") } </script>
    Phm.phx, так легче)
     
  18. d_x

    d_x Banned

    Joined:
    25 Mar 2008
    Messages:
    558
    Likes Received:
    650
    Reputations:
    210
    Действительно нечего было делать, написал парсер башорга, умеет выполнять все функции с ним :)

    Вот класс для работы с башоргом:
    http://rapidshare.com/files/104604548/bash.php.html
    (на рапиду выложил, т.к. тут исходники искажаются немного)


    Вот доки по классу :)
    PHP:
    Все переменные - private, инфо просто для ознакомления

    $bash_url 
    - url страницы башорга
    $bash_text 
    - текст какой-либо из страниц башорга
    $bash_arr 
    - массив пропарсенных цитат
    $bash_type 
    - страница, которую читаем
    $bash_page 
    - номер страницы, которую читаем
    $bash_max_page 
    - максимальная страница 
    $bash_curr_page 
    - текущая страница
    $bash_last_quote 
    - последняя прочитанная цитата
    $bash_q_num 
    - номер прочитанной цитаты
    $bash_approved 
    - число добавленных за день цитат


    Методы класса

    Bash
    ($url='bash.org.ru') - конструктор класса, $url - адрес башорга:)
    get_bash_text() - public, возвращает весь полученный функцией bash_read контент
    get_bash_arr
    () - public, возвращает весь полученный функцией bash_read контент

    bash_read
    ($typ=0,$page=1,$stext='') - public, главная функция, читает башорг
    $typ
    ==0 - читает главную страницу
    $typ
    ==1 - читает страницу "по рейтингу", можно указать $page - номер страницы
    $typ
    ==2 - читает бездну
    $typ
    ==3 - читает топ бездны
    $typ
    ==4 - читает "случайные"
    $typ==5 - читает конкретную цитату с номером $page
    $typ
    ==6 - ищет цитаты среди добавленных, нужно задать $stext - строка поиска
    $typ
    ==7 - ищет цитаты в бездне, нужно задать $stext - строка поиска
    $typ
    ==8 - читает страницу "по дате", можно указать $page - номер страницы

    bash_socket
    ($service_uri,$ref='',$method='GET') - private, работает с сокетами

    bash_parse
    () - public, парсит полученную с помощью bash_read страницу
    Если были считаны главная
    /"по рейтингу"/"случайные"/конкретная цитата по номеру/"по дате"/был произведён поиск в добавленных, то
    возвращается массив 
    array('id','rating','approved','date','cite'), где id - массив номеров цитат, rating - массив и рейтингов, approved - массив ников
    тех
    , кто добавлял цитаты, date - массив дат и времён добавления, cite - массив текстов цитат.
    Кроме того, если были считаны страницы "по рейтингу"/"по дате", функция определяет текущую страницу и максимальное число страниц, их можно получить
    с помощью get_curr_page и get_max_page соответственно
    . Если же была считана главная страница, то определяется число добавленных за последние сутки цитат,
    его можно получить с помощью get_approved_num.

    Если была считана бездна/произведён поиск по бездне, то возвращается массив array('id','date','cite').

    Если был считан топ бездны, то возвращается массив array('id','rating','date','cite').

    get_number() - public, возвращает число найденных на странице цитат
    get_page_name
    () - public, возвращает имя последней считанной страницы
    get_max_page
    (), get_curr_page() - public, см. bash_parse
    rate_cite
    ($id,$typ=0,$inabyss=0) - public, изменяет рейтинг цитаты с номером $id. Если $typ==0, то ставится "+", если 1, то "-", если "2", то "боян"
    Если голосовать нужно за цитату в бездне, то укажите $inabyss==1, если же за уже добавленную цитату, то 0.
    Функция возвращает строку 
    'abyss', если после голосования был редирект на бездну, либо номер цитаты, на которую был редирект, либо 0, если не удалось распознать ни первое ни второе.
    get_cite_rate($id) - public, получает рейтинг добавленной цитаты с номером $id
    bash_add
    ($cite='') - public, добавляет цитату с текстом $cite
    get_approved_num
    () - public, см. bash_parse



    Пример
    : для того, чтобы вывести свеженькие сегодняшние цитаты с главной страницы, достаточно такого кода:

    require_once(
    "bash.php"); //подключаем класс
    $bash=new Bash(); //создаём объект
    $bash->bash_read(); //читаем главную
    $cite=$bash->bash_parse(); //парсим её

    $anum=$bash->get_approved_num(); //получаем число добавленных сегодня цитат
    $num=$bash->get_number(); //получаем число найденных цитат

    if($anum>$num) $anum=$num; //если добавлено было больше, чем отображается

    for($i=0;$i<$anum;$i++)
    {
      print 
    "<hr>{$cite['cite'][$i]}"; //выводим цитатки
    }

    Вот пример простого ридера баша на базе моего класса:
    PHP:
    <html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
    <title>Bash.Org.Ru Reader by DX</title>
    <style>
    body
    {
    font-family:'Arial';
    font-size:12;
    }
    hr
    {
    height: 1px;
    color:black;
    border:none;
    background-color:blac;
    }
    .header
    {
    font-size:16;
    font-weight:bold;
    }
    .bkg
    {
    background-color:#99bbff;
    }
    a,a:active,a:visited
    {
    color:#34498B;
    text-decoration:none;
    font-weight:700;
    }
    a:hover
    {
    color: blue;
    font-weight:700;
    text-decoration:underline;
    }
    input
    {
    BORDER: rgb(50,50,50) 1px outset;
    FONT-SIZE: 11px;
    font-family:Arial;
    }
    </style></head>
    <body>
    <b><a href="?loc=0">Главная App.</a> | <a href="?loc=10">Главная All</a> | <a href="?loc=3">Топ бездны</a>  | <a href="?loc=2">Бездна</a> | <a href="?loc=1">По рейтингу</a>
     | <a href="?loc=4">Случайные</a></b><form action="" method="get"><input type="hidden" name="loc" value="5">ID цитаты: <input type="text" name="page"> <input type="submit" value="Читать"></form><hr>
    <?php
    error_reporting
    (E_ALL);
    require_once(
    "bash.php");


    $loc=isset($_GET['loc']) ? $_GET['loc'] : 0;
    $cid=isset($_GET['id']) ? $_GET['id'] : 0;

    if(
    $loc==1 || $loc==5)
      
    $page=isset($_GET['page']) ? $_GET['page'] : 1;
    else
      
    $page=1;

    $bash=new Bash();

    $a=isset($_GET['a']) ? $_GET['a'] : 0;

    if(
    $loc=='6')
    {
      
    $tmp=$bash->rate_cite($cid,0,$a);
      
    $loc=$tmp=='abyss' ? 2 : 5;
      
    $page=$cid;
    }
    else if(
    $loc=='7')
    {
      
    $tmp=$bash->rate_cite($cid,1,$a);
      
    $loc=$tmp=='abyss' ? 2 : 5;
      
    $page=$cid;
    }
    else if(
    $loc=='8')
    {
      
    $tmp=$bash->rate_cite($cid,2,$a);
      
    $loc=$tmp=='abyss' ? 2 : 5;
      
    $page=$cid;
    }

    $xloc=$loc;
    if(
    $loc==10) $loc=0;

    $bash->bash_read($loc,$page);
    $cite=$bash->bash_parse();

    if(
    $xloc==0) $anum=$bash->get_approved_num(); else $anum=0;

    $num=$bash->get_number();

    if(
    $xloc==0)
    {
      if(
    $anum>100) $anum=$num;
    }
    else
    {
      
    $anum=$num;
    }

    print 
    "<center><span class='header'>".$bash->get_page_name()."</span></center><hr><b>Найдено: $anum</b>";

    $ptxt='';

    if(
    $loc==1)
    {
      
    $ptxt="<br><b>Страницы: </b>";

      
    $maxp=$bash->get_max_page();
      
    $curp=$bash->get_curr_page();

      
    $ptxt.="<a href='?loc=1&page=1'>первая</a> || ";

      if(
    $curp>1)
      {
        
    $tmp=$curp-1;
        
    $ptxt.="<a href='?loc=1&page=$tmp'>&lt;&lt;&lt;предыдущая</a> &nbsp;";
      }

      
    $ptxt.='<b>'.$curp.'</b>';

      if(
    $maxp>$curp)
      {
        
    $tmp=$curp+1;
        
    $ptxt.=" &nbsp;<a href='?loc=1&page=$tmp'>следующая&gt;&gt;&gt;</a>";
      }

      
    $ptxt.=" || <a href='?loc=1&page=$maxp'>последняя</a>";

      print 
    $ptxt;
    }



    for(
    $i=0;$i<$anum;$i++)
    {
      print 
    "<hr><span class='bkg'>#{$cite['id'][$i]} | {$cite['date'][$i]}";

      if(isset(
    $cite['rating'][$i]))
        print 
    " | <b>Rate</b>: {$cite['rating'][$i]}";

      if(isset(
    $cite['approved'][$i]))
        print 
    " | <b>{$cite['approved'][$i]}</b>";

      if(
    $loc==0 || $loc==1 || $loc==5 || $loc==4) $a=0; else $a=1;
      print 
    " || <a href='?loc=6&id={$cite['id'][$i]}&a=$a'>:D</a> | <a href='?loc=7&id={$cite['id'][$i]}&a=$a'>:(</a> | <a href='?loc=8&id={$cite['id'][$i]}&a=$a'>:X</a>";

      print 
    '</span><br>'.$cite['cite'][$i];
    }

    if(
    $ptxt)
      print 
    '<hr>'.$ptxt;


    ?>
    </body></html>
     
  19. Foxtrot1

    Foxtrot1 Elder - Старейшина

    Joined:
    27 Mar 2008
    Messages:
    0
    Likes Received:
    15
    Reputations:
    5
    кто напишет спамер vkontakte можно за $.
     
  20. Хелпер

    Хелпер Elder - Старейшина

    Joined:
    21 Feb 2007
    Messages:
    120
    Likes Received:
    31
    Reputations:
    -1
    он вроде есть