Авторизация на webmoney mini

Discussion in 'PHP' started by dr.Web, 20 Apr 2011.

  1. dr.Web

    dr.Web Member

    Joined:
    2 Feb 2009
    Messages:
    7
    Likes Received:
    22
    Reputations:
    10
    Скиньте плз php код авторизации на сайте mini.webmoney.ru


    вот мой

    PHP:

    <?

    function connect($link$post=null,$header=null,$referer=null) {

            
    $ch curl_init(); 
            
    curl_setopt($chCURLOPT_URL,$link);
            
    curl_setopt($chCURLOPT_RETURNTRANSFER,1);
            
    curl_setopt($chCURLOPT_TIMEOUT0);
            
    curl_setopt($chCURLOPT_VERBOSE1);
            
    curl_setopt($chCURLOPT_FOLLOWLOCATION1);

            
    curl_setopt($chCURLOPT_POST1);
            
    curl_setopt($chCURLOPT_POSTFIELDS$post);
            if(
    $referer!=null){
            
    curl_setopt($chCURLOPT_REFERER$referer);
            }
            if(
    $header)
            {
            
    curl_setopt($chCURLOPT_HEADER1);
            }
            
    $useragent="Opera Mini/4.0.10247/23.334";
            
            
    curl_setopt($chCURLOPT_USERAGENT,  $useragent);

            
    curl_setopt($chCURLOPT_SSL_VERIFYPEER0);
            
    curl_setopt($chCURLOPT_SSL_VERIFYHOST0);
            
            
    $cookies='cookie.txt';
            if (
    substr(PHP_OS03) == 'WIN')
            {
    $cookies str_replace('\\','/'getcwd().'/'.$cookies);}
            
    curl_setopt($chCURLOPT_COOKIEJAR$cookies);
            
    curl_setopt($chCURLOPT_COOKIEFILE$cookies);
            
            
    $otvet curl_exec($ch);
            
    curl_close($ch);

        return 
    $otvet;
    }

    function 
    grabb($str$start$end)
    {
        
    $start = @strpos($str$start) + strlen($start);
        
    $end = @strpos($str$end$start);
        
    $result = @substr($str$start$end $start);
        
    flush();
    return 
    $result;
    }

    function 
    recognize($filename$apikey$is_verbose null$rtimeout 5$mtimeout 120$is_phrase 0$is_regsense 1$is_numeric 0$min_len 0$max_len 0)
    {

        if (!
    file_exists($filename))
        {
            if (
    $is_verbose) echo "file $filename not found<br>\n";
            return 
    false;
        }
        
    $postdata = array(
            
    'method'    => 'post'
            
    'key'       => $apikey
            
    'file'      => '@'.$filename//полный путь к файлу
            
    'phrase'    => $is_phrase,
            
    'regsense'    => $is_regsense,
            
    'numeric'    => $is_numeric,
            
    'min_len'    => $min_len,
            
    'max_len'    => $max_len,
            
        );
        
    $ch curl_init();
        
    curl_setopt($chCURLOPT_URL,                'http://antigate.com/in.php');
        
    curl_setopt($chCURLOPT_RETURNTRANSFER,    1);
        
    curl_setopt($chCURLOPT_TIMEOUT,            60);
        
    curl_setopt($chCURLOPT_POST,                1);
        
    curl_setopt($chCURLOPT_POSTFIELDS,        $postdata);
        
    $result curl_exec($ch);
        if (
    curl_errno($ch)) 
        {
            if (
    $is_verbose) echo "CURL returned error: ".curl_error($ch)."<br>\n";flush();
            return 
    false;
        }
        
    curl_close($ch);
        if (
    strpos($result"ERROR")!==false)
        {
            if (
    $is_verbose) echo "(<small>".date("H:i:s")."</small>)Ошибка сервера: $result<br>\n";flush();
            return 
    false;
        }
        else
        {
            
    $ex explode("|"$result);
            
    $captcha_id $ex[1];
            if (
    $is_verbose) echo "(<small>".date("H:i:s")."</small>)Капче присвоен id$captcha_id <br>\n";
            echo
    "<script>captch();</script>";
            
            
    flush();
            
    $waittime 0;
            if (
    $is_verbose) echo "...";flush();
            
    sleep($rtimeout);
            while(
    true)
            {
                
    $result file_get_contents('http://antigate.com/res.php?key='.$apikey.'&action=get&id='.$captcha_id);
                if (
    strpos($result'ERROR')!==false)
                {
                    if (
    $is_verbose) echo "(<small>".date("H:i:s")."</small>)Ошибка сервера: $result<br>\n";flush();
                    return 
    false;
                }
                if (
    $result=="CAPCHA_NOT_READY")
                {
                    if (
    $is_verbose) echo " ";flush();
                    
    $waittime += $rtimeout;
                    if (
    $waittime>$mtimeout
                    {
                        if (
    $is_verbose){ echo "(<small>".date("H:i:s")."</small>)время ожидания вышло ($mtimeout)<br>\n";flush();
                        break;}
                    }
                    
                    
    sleep($rtimeout);
                }
                else
                {
                    
    $ex explode('|'$result);
                    if (
    trim($ex[0])=='OK') {
                    if (
    $is_verbose){echo"<br>Капча распознана.<br>";}
                    return 
    trim($ex[1]);flush();
                    }
                }
            }
            
            return 
    false;
        }
    }

    $index=connect('https://my.webmoney.ru/login.aspx?ReturnUrl=%2fdashboard.aspx','',1);

    $ackey='4534534534534534';


    $captcha=grabb($index,"img id='login_ctl00_cph_captcha_captcha_CaptchaImage' src='","'");





    file_put_contents('captcha.jpg'connect("https://mini.webmoney.ru/".$captcha,'','','https://my.webmoney.ru/login.aspx?ReturnUrl=%2fdashboard.aspx'));
    $ctl00Captcha=recognize(dirname (ereg_replace("\\\\","/",__FILE__))."/captcha.jpg"$ackeytrue);




    $__LBD_VCT=grabb($index,'type="hidden" name="__LBD_VCT" id="__LBD_VCT" value="','"');
    $__LBD_SGC_login_ctl00_cph_captcha_captcha=grabb($index,'type="hidden" name="__LBD_SGC_login_ctl00_cph_captcha_captcha" id="__LBD_SGC_login_ctl00_cph_captcha_captcha" value="','"');
    $__VIEWSTATE=grabb($index,'type="hidden" name="__VIEWSTATE" id="__VIEWSTATE" value="','"');
    $__EVENTVALIDATION=grabb($index,'type="hidden" name="__EVENTVALIDATION" id="__EVENTVALIDATION" value="','"');
    $search='%D0%9D%D0%B0%D0%B9%D1%82%D0%B8+%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8E';
    $ctl00AuthMethod="%D0%9B%D0%BE%D0%B3%D0%B8%D0%BD%D0%B0+%D0%B8+%D0%BF%D0%B0%D1%80%D0%BE%D0%BB%D1%8F";
    $ctl00tbLogin="123123123@mail.ru";
    $ctl00tbPassword="123123123";
    $ctl00btnSubmit="%D0%92%D0%BE%D0%B9%D1%82%D0%B8";






    $post=array
    (
    '__EVENTTARGET'=>urlencode($__EVENTTARGET),
    '__EVENTARGUMENT'=>urlencode($__EVENTARGUMENT),
    '__LASTFOCUS'=>urlencode($__LASTFOCUS),
    '__LBD_VCT'=>urlencode($__LBD_VCT),
    '__LBD_SGC_login_ctl00_cph_captcha_captcha'=>urlencode($__LBD_SGC_login_ctl00_cph_captcha_captcha),
    '__VIEWSTATE'=>urlencode($__VIEWSTATE),
    '__EVENTVALIDATION'=>urlencode($__EVENTVALIDATION),
    'search'=>$search,
    'ctl00$cph$ddlAuthMethod'=>$ctl00AuthMethod,
    'ctl00$cph$tbLogin'=>urlencode($ctl00tbLogin),
    'ctl00$cph$tbPassword'=>urlencode($ctl00tbPassword),
    'ctl00$cph$Captcha$tbCaptcha'=>$ctl00Captcha,
    'ctl00$cph$btnSubmi'=>$ctl00btnSubmit
    );


    echo 
    connect('https://my.webmoney.ru/login.aspx?ReturnUrl=%2fdashboard.aspx',$post,1,'https://my.webmoney.ru/login.aspx?ReturnUrl=%2fdashboard.aspx');
    ?>
    Не работает =(
     
    #1 dr.Web, 20 Apr 2011
    Last edited: 20 Apr 2011
  2. phenix1025

    phenix1025 New Member

    Joined:
    20 Oct 2012
    Messages:
    11
    Likes Received:
    1
    Reputations:
    0
    не допилил никто? падает на определении JS.