etse Skrevet 6. august 2012 Del Skrevet 6. august 2012 Jeg prøver å logge inn på et phpBB forum for et script som er ment til å varsle meg når det kommer nye innlegg/tråder som jeg skal lese. Ettersom enkelte av "subforumene" er skjulte for alle andre enn innloggede brukere må scriptet mitt logge inn på forumet. Jeg får fint logget inn på selve siden, men får problemer når jeg prøver å åpne opp en ny side etter jeg har logget inn hvor det ikke ser ut som jeg noen-sinne prøvde å logge inn på siden. session-cookien ser også ut til å endre seg. Her er en kort sample-kode jeg lagde som viser problemer jeg har, samt outputen hvor du kan se hvordan session-cookien endrer seg når jeg åpner en ny side. import urllib, urllib2, cookielib, re, time username = "username" password = "password" loginsite = "http://www.mydomain.com/ucp.php?mode=login" ok_tekst = "You have been successfully logged in." cj = cookielib.CookieJar() opener = urllib2.build_opener(urllib2.HTTPCookieProcessor(cj)) login_data = urllib.urlencode({'username' : username, 'password' : password, "autologin" : "on", 'login' : 'Login'}) resp = opener.open(loginsite, login_data) if ok_tekst in resp.read(): print "Login successfull" print "Cookies are:" for cookie in cj: print cookie post_site = "http://www.mydomain.com/" ok_tekst = "Logout [ " + username + " ]" resp = opener.open(post_site) readHTML = resp.read() if ok_tekst not in readHTML: print "" print "Unsuccessfull, I am now logged out?!" print "Cookies are now:" for cookie in cj: print cookie Dette gir følgende output: >> python test.py Login successfull Cookies are: <Cookie phpbb3_pwsle_k=b3fe944b89bfbce2 for .mydomain.com/> <Cookie phpbb3_pwsle_sid=318b3ace3d52409fb5e1eef87433fbdb for .mydomain.com/> <Cookie phpbb3_pwsle_u=419 for .mydomain.com/> Unsuccessfull, I am now logged out?! Cookies are now: <Cookie phpbb3_pwsle_k= for .mydomain.com/> <Cookie phpbb3_pwsle_sid=719520cd3a16526d6da4fa2fbdfe40f4 for .mydomain.com/> <Cookie phpbb3_pwsle_u=1 for .mydomain.com/> Noen som ser hva som kan være feil, og hvorfor jeg ikke forblir logget inn mellom ulike sidevisninger? Lenke til kommentar
slacky Skrevet 8. august 2012 Del Skrevet 8. august 2012 (endret) PhpBB har en funksjon som kan aktiveres fra adminpanelet. Som lyder noe ligende "Enable browser validation for each session improving security". - Dette lyder til å være problemet ditt. Du kan uansett emulere en browser: import mechanize br = mechanize.Browser() br.addheaders = [('User-agent', 'Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.0.1) Gecko/2008071615 Fedora/3.0.1-1.fc9 Firefox/3.0.1')] Endret 8. august 2012 av warpie Lenke til kommentar
etse Skrevet 9. august 2012 Forfatter Del Skrevet 9. august 2012 Nå bruker jeg ikke mechanize, da jeg prøvde å holde meg unna å bruke 3. parts biblioteker. Problemet er uansett løst og det viste seg at php-bb hadde en funksjon på som sjekket header-informasjonen, ting som referer o.s.v. Når jeg kopierte dette fra hva nettleseren min sendte funket det fint. 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å