Einzelnen Beitrag anzeigen

-187-

Registriert seit: 24. Sep 2005
483 Beiträge
 
Delphi 2010 Architect
 
#4

AW: Indy Login+Cookies

  Alt 26. Apr 2011, 12:42
via Indy in meinem CMS einzuloggen
Bevor du weitermachst solltest du prüfen, ob du mit einem Browser deiner Wahl und abgeschaltetem Java-Script deine gewünschte Aufgabe überhaupt erledigen kannst.
Indy hat keine Unterstützung für Java-Script; viele Webseiten stützen sich aber stark darauf und können ohne nicht arbeiten.
Klappt auch ohne JS !

Einloggen mache ich meistens über den dafür vorgesehen Weg: Das Login Formular der Seite

Erstmal den Quelltext ansehen und gucken, welche Felder ausgefüllt werden müssen (Username, Password, eventuell weitere IDs, etc.), danach einen entsprechenden Header prepärieren und mit IdHTTP.Post() auf die Reiste schicken. Wenn du AllowCookies auf true gesetzt hast, sollte dann deine Session auch zumindest bis zum Schließen des Programms aufrecht erhalten bleiben.
Das ist nicht das Problem. Ich bin mir sicher das ich alle Post Werte mitschicken. Habe mir vorher via Wireshark angeschaut was ich brauche...

Der Login an sich klappt auch, das weiss ich daher weil man nach dem Login redirected wird. Das habe ich im OnRedirect geprüft. (Login fehlerhaft = kein Redirect, Login Ok = Redirect (Die redirected URL ist jedoch nicht mit einer SID oder ähnlichen versehen, man wird nur ins "root" weiterschickt))

Das Problem ist das die Session nicht erhalten bleibt.

//Edit:

Ich hab mir jetzt mal die Cookies angeschaut die Firefox erstellt. Da gibt es noch zwei weitere Felder: "Expires" und "Secure" ... Kann es damit zusammenhängen ?

//Edit2:

Hier liefer ich euch nochmal die RawHeaders:

Code:
Date: Tue, 26 Apr 2011 12:12:41 GMT
Server: LiteSpeed
Connection: close
X-Powered-By: PHP/5.2.17
Set-Cookie: PHPSESSID=ca753b5f460588c3e9ac1174beae51b0; path=/
Expires: Thu, 19 Nov 1981 08:52:00 GMT
Cache-Control: no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Pragma: no-cache
Content-Type: text/html

Geändert von -187- (26. Apr 2011 um 14:15 Uhr)
  Mit Zitat antworten Zitat