Авторизация вконтакте

Discussion in 'PHP' started by banned, 16 Dec 2009.

  1. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Чего-то перестала у меня работать пожизненная авторизация вконтакте..
    Куки постоянно пишутся заново, а не читаются просто..
    А-А-А-А-А
    Сам естественно уже много чего перепробовал...
     
  2. geforse

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

    Joined:
    2 Mar 2008
    Messages:
    617
    Likes Received:
    290
    Reputations:
    1
    Вроде всё нормально...вот вечный онлайн (1 раз авторизировается и работает через cookie (см. лог))

    PHP:
    <?php
    set_time_limit
    (0);
    //-----------------//
    $email '';                  // E-mail 
    $pass '';                  // Пароль
    $log '1';                 // 1 - Если нужно писать log-файл
    //-----------------//
     
       
    function post($url,$post,$refer)
        {
           
    $ch curl_init($url);
           
    curl_setopt($chCURLOPT_USERAGENT"Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.4) Gecko/2008102920 AdCentriaIM/1.7 Firefox/3.0.4");
           
    curl_setopt($chCURLOPT_POST1);
           
    curl_setopt($chCURLOPT_HEADER1);
           
    curl_setopt($chCURLOPT_POSTFIELDS$post);
           
    curl_setopt($chCURLOPT_REFERER$refer);
           
    curl_setopt($chCURLOPT_COOKIEJAR"./cook");
           
    curl_setopt($chCURLOPT_COOKIEFILE"./cook");
           
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
           
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
           
    $result  curl_exec($ch);
           return 
    $result;
        }
     
      
    $result post('http://vkontakte.ru/',null,'http://vkontakte.ru/');
     
      
    /* Если куки "умерли", то авторизовываемся... */
      
    if (preg_match('#l">E(.*?)<#i',$result,$avtoriz))
       {
          
    $result post('http://vkontakte.ru/login.php','act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email='.$email.'&pass='.$pass,'http://vkontakte.ru/login.php');
     
         
    /* Пишем об этом */
            
    if ($log == "1")
         {
           
    $fh fopen("log.txt""a+");
            
    $success fwrite($fh"Авторизация [".date("H:i")."]\r\n");
            
    fclose($fh);
         }
     
        }
        else
        {
              if (
    $log == "1")
          {
                
    /* ...иначе пишем, что авторизация не потребовалась */
            
    $fh fopen("log.txt""a+");
            
    $success fwrite($fh"Работа через cookie [".date("H:i")."]\r\n");
            
    fclose($fh);
           }
         }
     
     
    /* geforse.name */
    ?>
     
  3. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    На вплеере стоит скрипт
    PHP:
    function goLogin($url$post$vk)
        {
            global 
    $emailvk;

            if(
    $ch        curl_init($url))
            {
                
    curl_setopt($chCURLOPT_USERAGENT'Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.1.5) Gecko/20091102 Firefox/3.5.5');
                
    curl_setopt($chCURLOPT_POST1);
                
    curl_setopt($chCURLOPT_HEADER1);
                
    curl_setopt($chCURLOPT_POSTFIELDS$post);
                
    curl_setopt($chCURLOPT_REFERER'http://login.vk.com');
                if(
    $vk 0)    curl_setopt($chCURLOPT_COOKIEJARdirname(__FILE__).'/c/'.$emailvk);
                
    curl_setopt($chCURLOPT_COOKIEFILEdirname(__FILE__).'/c/'.$emailvk);
                
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);
                
    curl_setopt($chCURLOPT_RETURNTRANSFER1);
                
    $content    curl_exec($ch);
                
    $content    mb_convert_encoding($content'utf-8''windows-1251');
                return array(
    $content);
            }
            else
            {
                return array(
    'notconnect');
            }
        }

    function 
    searchContent($q$page)
        {
            
    $operation    =  $size    null;
            
    $a            goLogin('http://vkontakte.ru/gsearch.php''q='.urlencode($q).'&section=audio&offset='.$page0);
            
    $result        $a[0];
            
    preg_match_all('#<img class="playimg" onclick="return operate\((.*?)\).*?id="#'$result$operation);
            
    preg_match_all('#<div class="duration">(.*?)</div>#'$result$duration);
            return array(
    $result$operation$size);
        }

    $pagek        = (isset($page) && $page 0)    ?    (($page 100) - 100)    :    '0';
            
    $pages        '';
            
    $getArray    searchContent($q$pagek);

            if(
    preg_match('#location.href=\'http:\/\/vkontakte.ru\/login.php\?op=logout\'#i'$getArray[0], $lol))
            {
                
    $a        goLogin('http://vkontakte.ru/login.php','act=login&success_url=&fail_url=&try_to_login=1&to=&vk=&email='.$emailvk.'&pass='.$passvk1);
                
    $getArray searchContent($q$pagek);
            }

            if(
    preg_match('#location.href=\'http:\/\/vkontakte.ru\/login.php\?op=logout\'#i'$getArray[0], $lol))
            {
                
    define('ERR',true);
                
    $result    'Что-то не так, попробуйте обновить страницу';
            }
    ?>
    Ну короче всегда пытается вывести $result = 'Что-то не так, попробуйте обновить страницу'; ну и естественно перезаписывает куки...
    Не ясно почему он со старыми не может залогиниться...

    НЕ ПОЙМУ!111111
     
  4. оlbaneс

    оlbaneс Moderator

    Joined:
    5 Nov 2007
    Messages:
    1,362
    Likes Received:
    1,041
    Reputations:
    356
    изис, тут /thread158865.html какие то скрипты для постоянного онлайна вконтакте. может нароешь чего для себя.
     
    _________________________
  5. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Там тоже самое
     
  6. Gifts

    Gifts Green member

    Joined:
    25 Apr 2008
    Messages:
    2,494
    Likes Received:
    807
    Reputations:
    614
    Isis Банально - а логин/пароль то правильный? Приведенный код у меня успешно авторизуется и даже что-то ищет. Плюс проверьте права на файл куков
     
    _________________________
    #6 Gifts, 16 Dec 2009
    Last edited: 16 Dec 2009
  7. banned

    banned Banned

    Joined:
    20 Nov 2006
    Messages:
    3,324
    Likes Received:
    1,194
    Reputations:
    252
    Весь список логинов паролей правильный, проверял вручную