SMF curl логин выпуска php - PullRequest
       7

SMF curl логин выпуска php

0 голосов
/ 27 июля 2010

Есть ли у кого-нибудь PHP-код для входа в систему для SMF версии 1.1.11? Я попытался, и тогда он регистрирует, когда я проверяю вывод curl, но когда загружает broswer, они больше не входят в систему

Мой код

function login($data)
{
    if(function_exists('curl_init' )) {

        $_SESSION['old_url'] = $_SERVER['HTTP_HOST'] .'test';
        // smf needs this sigh
        // create a new cURL resource
        $data = array( 'noverify'=>1 , 'user'=> $data['username'] ,  'passwrd' => $data['password'] ,'hash_passwrd'=>$data['password'], 'cookielength'=>'60');
        $ch = curl_init();
        // set URL and other appropriate options
        curl_setopt($ch, CURLOPT_URL, $_SERVER['HTTP_HOST'] . "/forum/index.php?action=login2");
        curl_setopt($ch, CURLOPT_POST, 1);
        curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
        curl_setopt($ch, CURLOPT_HEADER, 0);

        $agent = "Mozilla/5.0 (Windows; U; Windows NT 5.0; en-US; rv:1.4) Gecko/20030624 Netscape/7.1 (ax)";
        curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 2);
        curl_setopt($ch, CURLOPT_USERAGENT, $agent);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
        curl_setopt($ch, CURLOPT_COOKIEFILE, dirname(__FILE__).'/cookie.txt');
        curl_setopt($ch, CURLOPT_COOKIEJAR,  dirname(__FILE__).'/cookie.txt');
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE);
        curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);


        // grab URL and pass it to the browser
        $a = curl_exec($ch);

        //$ch_temp=curl_copy_handle($ch);

        //print_r($ch_temp);
        // close cURL resource, and free up system resources
        curl_close ($ch); 

    }
}

1 Ответ

2 голосов
/ 27 июля 2010

Этого следовало ожидать. Ваш скрипт и ваш браузер не используют один и тот же файл cookie. Это как если бы вы вошли в Firefox и ожидали, что при открытии Chrome вы также войдете в систему.

...