#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!