[PHP] Mail.ru generator

Dieses Thema im Forum "Webentwicklung" wurde erstellt von rave78, 10. Mai 2010 .

Schlagworte:
Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. 10. Mai 2010
    Mail.ru generator

    Hi,
    ich wollte einen Mail.ru account generator coden, aber ich habe das problem, dass das Captcha (dessen URL ich mir von der registrierungs Seite fetche) nur Nullen anzeigt.

    Wenn ich aber die URL zum bild in den Browser eingebe sehe ich ein richtiges bild....

    Hier mal der Quelltext bisher:

    PHP:
    $ch  curl_init ();
        
    curl_setopt ( $ch CURLOPT_URL "http://win.mail.ru/cgi-bin/signup" );
        
    curl_setopt ( $ch CURLOPT_RETURNTRANSFER true );
        
    curl_setopt ( $ch CURLOPT_COOKIE session_name () .  "="  session_id ());
        
    $data  curl_exec ( $ch );
        
    $start2  strpos ( $data , '<img id="def_image" style="border: solid 1px gray;" src="' )+ 57 ;
        
    $end2  strpos ( $data , '"></td>' , $start2 ) -  $start2 ;
        echo 
    "<img src='http://win.mail.ru/cgi-bin/" . substr ( $data , $start2 , $end2 ). "'/img>" ;
    Handelt es sich da um irgendeinen Schutzmechanismus von Seiten mail.ru`s?
    Wenn ja, hat jemand eine Idee wie man ihn umgehen kann?


    Gruß,
    rave
     
  2. 10. Mai 2010
    AW: Mail.ru generator

    Der Link ist vermutlich sessionabhaengig, lad das captcha mit php runter und gibs direkt ueber den server aus.
     
  3. 10. Mai 2010
    AW: Mail.ru generator

    Super Sache funktioniert.

    PHP:
    $ch  curl_init ();
        
    curl_setopt ( $ch CURLOPT_URL "http://win.mail.ru/cgi-bin/signup" );
        
    curl_setopt ( $ch CURLOPT_RETURNTRANSFER true );
        
    curl_setopt ( $ch CURLOPT_COOKIE session_name () .  "="  session_id ());
        
    $data  curl_exec ( $ch );
        
    $start2  strpos ( $data , '<img id="def_image" style="border: solid 1px gray;" src="' )+ 57 ;
        
    $end2  strpos ( $data , '"></td>' , $start2 ) -  $start2 ;    

        
    $filename  "http://win.mail.ru/cgi-bin/" . substr ( $data , $start2 , $end2 );    
        if (!
    $img  fopen ( $filename "r" )) {
            print 
    "Kann die Datei  $filename  nicht öffnen" ;
                    exit;
            }
            
    $rand  RandomString ( 4 );
            
    $fp  fopen  ( "fmimg/" . $rand . ".jpg" "a+" );
               while (!
    feof ( $img )) 
               {           
                   
    $buffer  fgets ( $img 4096 );
                          if (!
    fwrite ( $fp $buffer )) 
                          {     
                              print 
    "Kann in die Datei nicht schreiben" ;
                            break;        
                          }    
               }    
        
    fclose ( $fp );   
        
    fclose ( $img ); 
        echo 
    "<img src='fmimg/" . $rand . ".jpg' /img>" ;
    Mh nun bei den Daten die das Script sendet ist es etwas kompliziert.

    PHP:
    if (isset( $_POST [ "captcha" ]) && isset( $_POST [ "name" ]) && isset( $_POST [ "pw" ]))
    {
        
    //sleep(4);
        
    $ch  curl_init ();
        
    session_write_close ();
        
    curl_setopt ( $ch CURLOPT_URL "http://win.mail.ru/cgi-bin/signup" );
        
    curl_setopt ( $ch CURLOPT_RETURNTRANSFER true );
        
    $nvp  "ID=8tSWxUYm&Count=1&back=&browserData=screen--%60top%60%3A%600%60%2C%60height%60%3A%60768%60%2C%60width%60%3A%601366%60%2C%60left%60%3A%600%60%2C%60colorDepth%60%3A%6024%60%2C%60pixelDepth%60%3A%6024%60%2C%60availWidth%60%3A%601366%60%2C%60availHeight%60%3A%60728%60%2C%60availLeft%60%3A%600%60%2C%60availTop%60%3A%600%60%0D%0Anavigator--%60userAgent%60%3A%60Mozilla%2F5.0+%28Windows%3B+U%3B+Windows+NT+6.1%3B+de%3B+rv%3A1.9.2.3%29+Gecko%2F20100401+Firefox%2F3.6.3%60%2C%60appVersion%60%3A%605.0+%28Windows%3B+de%29%60%2C%60appCodeName%60%3A%60Mozilla%60%2C%60appName%60%3A%60Netscape%60%2C%60language%60%3A%60de%60%2C%60platform%60%3A%60Win32%60%2C%60oscpu%60%3A%60Windows+NT+6.1%60%2C%60vendor%60%3A%60%60%2C%60vendorSub%60%3A%60%60%2C%60product%60%3A%60Gecko%60%2C%60productSub%60%3A%6020100401%60%2C%60securityPolicy%60%3A%60%60%2C%60cookieEnabled%60%3A%60true%60%2C%60onLine%60%3A%60true%60%2C%60buildID%60%3A%6020100401080539%60%0D%0Aflash--%60version%60%3A%6010.0.45%60%0D%0A&x_3532cd67e005321a=" . RandomString ( 5 ). "&x_17ed2e884f80451d=" . RandomString ( 8 ). "&x_d74219f3a3f956d1=12&BirthMonth=" . mt_rand ( '1' , '12' ). "&x_15f992e0658b6ee9=" . mt_rand ( '1980' , '2003' ). "&x_c98a4b3f022ab7da=" . $_POST [ "name" ]. "&RegistrationDomain=mail.ru&x_3b3471ef93170e32=" . $_POST [ "pw" ]. "&x_98dd811e9c3ad1d7=" . $_POST [ "pw" ]. "&Password_Question=%CD%EE%EC%E5%F0+%EF%E0%F1%EF%EE%F0%F2a&x_8216b2ea6c022bfb=&x_e70e021ec7747160=" . RandomString ( 8 ). "&x_ad7c7db6d18d37de=&RemindPhone=&x_110fbe529631116a=2&Mrim.Country=&Mrim.Region=&geo_countryId=undefined&geo_regionId=undefined&geo_cityId=undefined&your_town=&geo_country=undefined&geo_place=&x_reg_id=regV3_w1CpEj6o&security_image_id=&x_0273e4cac6e62a83=" . $_POST [ "captcha" ]. "&B1=+%C7%E0%F0%E5%E3%E8%F1%F2%F0%E8%F0%EE%E2%E0%F2%FC+%EF%EE%F7%F2%EE%E2%FB%E9+%FF%F9%E8%EA+" ;
        
    curl_setopt ( $ch CURLOPT_POSTFIELDS $nvp );
        
    curl_setopt ( $ch CURLOPT_COOKIE session_name () .  "="  session_id ());
        
    $html2  curl_exec ( $ch );
        echo 
    $html2 ;
    }
    Sieht jemand auf den ersten Blink nen Fehler?
    Habe keine Lust alle Bezeichnungen der Felder vorher noch auszulesen^^
     
  4. 11. Mai 2010
    AW: Mail.ru generator

    hi,

    eventueller ansatz ->
    http://trac.symfony-project.org/changeset/18923?format=diff&new=18923

    Dort nach mail.ru suchen sollte ein wenig helfen!
     
  5. Video Script

    Videos zum Themenbereich

    * gefundene Videos auf YouTube, anhand der Überschrift.