uranus Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 Hei! Jeg spiller på noe om heter StreetzMafia.net og jeg har lyst til å lage et script som logger inn og henter brukerranken min som står på alle sider du er på når du er pålogget. Er det mulig? Det er ikke https. Lenke til kommentar
Intramin Skrevet 12. juli 2007 Del Skrevet 12. juli 2007 (endret) StreetzMafia har denne fila her: http://www.streetzmafia.net/ajax/get_user_info.php som henter ut brukerinfo (definer bruker med "userid" i POST). Du kan logge inn osv. med å bruke CURL hvis du har det. (SmokeyPot som har laget spillet har sagt at det kommer https) Klikk for å se/fjerne innholdet nedenfor Output: <?xml version="1.0" encoding="ISO-8859-1"?> <userinfo> <id>1</id> <url>/profil.php?name=SmokeyPoT</url> <user>SmokeyPoT</user> <user_display><a href="/profil.php?name=SmokeyPoT" title="Vis profil" class="profile_link c_admin"><span><b>SmokeyPoT</b></span><span title="ID:1"></span></a></user_display> <status><span class="c_admin">[Senioradministrator]</span></status> <reg_time_abs>19. november 2006 <span class="klokkeslett">01:37:54</span></reg_time_abs> <reg_time_rel><b>33</b> uker <b>4</b> dager <b>21</b> timer <b>57</b> min <b>5</b> sek</reg_time_rel> <last_online_abs>13. juli 2007 <span class="klokkeslett">00:34:02</span></last_online_abs> <last_online_rel><b>57</b> sek</last_online_rel> <activated>1</activated> <profile_image>/imgs/profilbilder/SmokeyPoT.15101.png</profile_image> <rank_name>Administrator (Cavaliere)</rank_name> </userinfo> Gjorde noe raskt med curl (testet): PHP <?php$ch = curl_init(); curl_setopt($ch, CURLOPT_COOKIEJAR, "C:/cookies.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, "C:/cookies.txt"); curl_setopt($ch, CURLOPT_URL, "http://www.streetzmafia.net/logginn.php"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "brukernavn=BRUKERNAVN&passord=PASSORD&expire_type=0"); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); $login = curl_exec($ch); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, "http://www.streetzmafia.net/ajax/get_user_info.php"); curl_setopt($ch, CURLOPT_POSTFIELDS, "userid=7525"); $out = curl_exec($ch); preg_match_all("!<rank_name>(.*?)</rank_name>!", $out, $ferdig); echo "Rank: ".$ferdig[1][0]; ?> Endret 12. juli 2007 av Intramin Lenke til kommentar
uranus Skrevet 12. juli 2007 Forfatter Del Skrevet 12. juli 2007 Ah, ser man det Men hva måtte jeg skrevet for å hente penger fra banken? Altså i samme kode? Lenke til kommentar
Intramin Skrevet 13. juli 2007 Del Skrevet 13. juli 2007 PHP <?php$brukernavn = "BRUKERNAVN"; $passord = "PASSORD"; $brukerid = "brukerid finnes på profilen din i streetzmafia"; $ch = curl_init(); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_COOKIEJAR, "C:/cookies.txt"); curl_setopt($ch, CURLOPT_COOKIEFILE, "C:/cookies.txt"); curl_setopt($ch, CURLOPT_URL, "http://www.streetzmafia.net/logginn.php"); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_POSTFIELDS, "brukernavn=$brukernavn&passord=$passord&expire_type=0"); curl_setopt ($ch, CURLOPT_RETURNTRANSFER, true); $login = curl_exec($ch); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, "http://www.streetzmafia.net/ajax/get_user_info.php"); curl_setopt($ch, CURLOPT_POSTFIELDS, "userid=".$brukerid); $out = curl_exec($ch); preg_match_all("!<rank_name>(.*?)</rank_name>!", $out, $rank); curl_setopt($ch, CURLOPT_POST, 1); curl_setopt($ch, CURLOPT_URL, "http://www.streetzmafia.net/banken.php"); curl_setopt($ch, CURLOPT_POSTFIELDS, ""); $out = curl_exec($ch); preg_match_all("!<td>Balanse:</td>s*.+?s*<td align="right">(.*?)</td>!", $out, $bank); echo "Rank: ".$rank[1][0]."<br>I banken: ".$bank[1][0]; ?> Er ganske lett hvis du kan HTML og litt PHP. PHP curl_setopt($ch, CURLOPT_POST, 1);curl_setopt($ch, CURLOPT_URL, "http://www.streetzmafia.net/banken.php"); curl_setopt($ch, CURLOPT_POSTFIELDS, ""); $out = curl_exec($ch); Spør om innholdet på siden "banken.php" med "" som postdata. PHP preg_match_all("!<td>Balanse:</td>s*.+?s*<td align="right">(.*?)</td>!", $out, $bank); Henter ut innholdet i <td align="right"></td> som står etter <td>Balanse</td> ("(.*?)" markerer hva den skal hente ut, og "\s*.+?\s*" bruker iallefall jeg hvis det er linje-brekk (\n) som skal "ignoreres" Lenke til kommentar
uranus Skrevet 13. juli 2007 Forfatter Del Skrevet 13. juli 2007 Skjønner Jeg skjønner mye php, men har alltid hatt problemer med det curl greiene for en eller annen grunn Lenke til kommentar
uranus Skrevet 13. juli 2007 Forfatter Del Skrevet 13. juli 2007 Får forresten en feilmelding, som jeg ikke helt forstår. "Warning: curl_setopt() [function.curl-setopt]: CURLOPT_FOLLOWLOCATION cannot be activated when in safe_mode or an open_basedir is set in /usr/home/web/wno191444/div/sm.php on line 8" Linje 8: curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1); Lenke til kommentar
uranus Skrevet 13. juli 2007 Forfatter Del Skrevet 13. juli 2007 Jeg tror ikke det, men vet ikke helt sikkert siden de har endret mye på webhotellet mitt. Lenke til kommentar
Peter Skrevet 13. juli 2007 Del Skrevet 13. juli 2007 Sjekk phpinfo() da vel. Slikt burde man alltid ha oversikt over når man skal skrive script. Uansett har du antakelig en host som kjører med èn av delene, noe som er teit. Nå skal ikke jeg si hva du burde gjøre eller ikke, men så lenge webhotell som har safe_mode på og kjører php4 fortsatt får kunder, så "gidder" de ikke alltid å kjøre litt skikkelige versjoner og konfigurasjoner. Personlig liker jeg domeneshop, for de gir deg både php4 og php5 (ettersom hva du vil), og en rimelig oppdatert versjon av php _hele tiden_. (5.2.1 for tiden, såvidt jeg husker) For ikke å snakke om at du kan skrive din egen php.ini og har shelltilgang hvor du får kjøre stort sett hva du vil. (f.eks. eggdrop, men cron jobs foretrekker de at ikke kjører oftere enn hvert tiende minutt) (Ble en del "reklame" for domeneshop det her, men et hvilket som helst webhotell som tilbyr noe av det samme (særlig safe_mode off og php5) burde duge) Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå