Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   Авторизация вконтакте (https://forum.antichat.xyz/showthread.php?t=163919)

Isis 16.12.2009 09:51

Авторизация вконтакте
 
Чего-то перестала у меня работать пожизненная авторизация вконтакте..
Куки постоянно пишутся заново, а не читаются просто..
А-А-А-А-А
Сам естественно уже много чего перепробовал...

geforse 16.12.2009 11:40

Вроде всё нормально...вот вечный онлайн (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 */
?>


Isis 16.12.2009 21:35

На вплеере стоит скрипт
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

оlbaneс 16.12.2009 21:47

изис, тут https://forum.antichat.ru/thread158865.html какие то скрипты для постоянного онлайна вконтакте. может нароешь чего для себя.

Isis 16.12.2009 22:18

Там тоже самое

Gifts 16.12.2009 22:46

Isis Банально - а логин/пароль то правильный? Приведенный код у меня успешно авторизуется и даже что-то ищет. Плюс проверьте права на файл куков

Isis 17.12.2009 20:18

Весь список логинов паролей правильный, проверял вручную


Время: 02:41