Autor Beitrag
slain
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Sa 06.02.10 11:13 
Hallo,

ich probiere zurzeit alle Cookies vom TWebbrowser, also damit vom Internet Explorer in die Indy-Komponente IdHTTP zu laden.

Ziel ist es, dass man sich im Webbrowser sichtbar einloggen kann, und dann mit der Indy Komponente ohne weiteres Posts und Gets abschicken kann und entsprechend vernünftige Daten bekommt.

Das ist mir soweit alles gelungen (Cookie-Dateien ausgelesen und in IdHTTP übertragen per Cookiemanager und addCookie).

Leider fehlt aber ein entscheidender allgemeiner Cookie im Internet Explorer, den ich einfach nicht finden kann. Er nennt sich PHPSESSID und das Value ist ein MD5 hash.

Ohne diesen gelingt das einloggen nicht, der IE scheint diesen aber irgendwo zu speichern. In Firefox und Opera ist diese PHPSESSID mit bei den Cookies aufgelistet weshalb ich auch weiß, dass genau dieser Cookie fehlt und entscheidend ist (verändert man diesen MD5 hash, ist man nicht mehr eingeloggt).

Nun die Frage an euch alle: Weiß irgendjemand wo man im IE an diese PHPSESSID rankommt bzw wo sie gespeichert ist ? Denn irgendwo muss sie zwangsläufig gehortet werden. Im Cookie-Ordner vom IE ist sie nirgendwo zu finden.

Bei Wunsch poste ich auch gerne meinen Code wie ich zurzeit an die Cookies rankomme und sie in IDHTTP übertrage, das sollte aber eigentlich unwichtig sein für die Frage.

mfg slain :)
DonManfred
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 148
Erhaltene Danke: 2

Windows 7
Delphi XE3 Pro + HTML5Builder
BeitragVerfasst: Sa 06.02.10 12:52 
Das kommt auf die Einstellung am Server in der php.ini an. Dort kann man einstellen, das Sessiondaten (Die PHPSESSID ist Teil einer Session wobei PHPSESSID ein vom User gewählter Name ist...) auf dem Server gespeichert werden (überlicherweise im tmp-Verzeichnis). An diese Daten kommst du so natürlich nicht ran.

Normalerweise müsstest du die phpsessid aber im quelltext finden, wenn da irgendwelche links vorhanden sind...
PHP-Scripts, die mit PHPSESSID arbeiten, haben ja selber die Variable $PHPSESSID im Einsatz, wenn das mit cookies alleine nicht funktioniert. Üblicherweise sind nach dem einloggen die URLs von Links dann in etwa SO erweitert: script.php?var1=test&PHPSESSID=xxx oder in formularen findet man dann oft auch die sessionid als Hidden-value... Die müsstest Du halt irgendwo ausgelesen bekommen um sie bei weiteren aufrufen direkt mit übergeben zu können.

Ich kenn mich mit der Webbrowserkomponente nicht so gut aus von daher kann ich Dir diesbezüglich keine grosse Hilfe sein. Obiges sind Erkenntnisse aus meiner PHP-Programmierung...

hope it helps

_________________
Gruss Manfred
slain Threadstarter
Hält's aus hier
Beiträge: 14



BeitragVerfasst: Sa 06.02.10 14:18 
Schonmal vielen Dank DonManfred.

Ich habe natürlich bevor ich hier gepostet habe schon gegoogelt und hier im forum gesucht und leider auch nur diese Informationen finden können, dass PHPSESSID serverbasiert sei.

Ich habe nun nochmal den Transfer gesnifft und es wird jedesmal diese PHPSESSID mitgesendet als cookie und sie ist weder im link, noch im htmlcode der seite zu finden. Nur beim Login ist diese kurzzeitig im link vorhanden, jedoch mit einem anderen wert, als danach, wenn man eingeloggt ist.

Bei Firefox und Opera ist diese id ein lokal gespeicherter Cookie (wie es sich gehört) - eben nur beim IE ist nichts zu finden (bei der gleichen Page).

Ich steh leider noch aufn Schlauch :(