Seite 1 von 1

Cookies and SessionIds

Verfasst: 27.10.2017 11:38
von dige
Hallo in die Runde,

ich möchte SpiderBasic nutzen um mich bei einem Server anzumelden und dann Infos abzugfragen und anzuzeigen.
Die zwei notwendigen http Requests habe ich schon durch manuelle Aufrufe im Browser durchprobiert.
Mit SB klappt auch schon die Anmeldung über einen POST Request.

Jetzt kommt das Problem. Der zweite Request wird vom Server mit "not authorized" abgelehnt.

Beim Login POST sehe ich im Antwort Header des Servers, dass ein Cookie mit einer PHPSESSID mitgeliefert wird.

Wie kann ich SB dazu bewegen, diese ID beim zweiten Request wieder mitzusenden?

Wisst ihr was ich meine?

Re: Cookies and SessionIds

Verfasst: 27.10.2017 11:44
von NicTheQuick
Normalerweise machen das Browser ja selbstständig. Wenn im Response-Header vom Server nach einem Login ein "Set-Cookie" zurückkommt, merkt der Browser sich das und sendet das Cookie automatisch bei jedem nachfolgenden Request wieder zum Server, solange das Cookie noch gültig ist und zur entsprechenden Domain-Port-Kombination passt.

Kocht da Spiderbasic vielleicht sein eigenes Süppchen und umgeht den Browser-eigene Cookie-Mechanismus? Das wäre eventuell fatal, vor allem was Cross-Origin-Requests angeht.

Sorry, dass ich zu SpiderBasic selbst nichts sagen kann, weil ich es nicht nutze.

Re: Cookies and SessionIds

Verfasst: 27.10.2017 14:38
von dige
Stimmt, im Response Header steht:

Code: Alles auswählen

Set-Cookie	
PHPSESSID=e613aa6e7742f3148d43c4fd6eff64ba; expires=Fri, 03-Nov-2017 12:20:52 GMT; path=/
und der Browser sendet beim nächsten Request dann im Header

Code: Alles auswählen

Cookie	
PHPSESSID=e613aa6e7742f3148d43c4fd6eff64ba
SpiderBasic bekommt beim Login ebenfalls das Set-Cookie mitgeteilt, sendet es aber beim nächsten Request nicht mit..

Re: Cookies and SessionIds

Verfasst: 27.10.2017 15:22
von TroaX
Liegt dein Spiderbasic-Programm auch auf dem gleichen Server wie das PHP-Backend bzw. laufen diese über die gleiche Domain?

Re: Cookies and SessionIds

Verfasst: 27.10.2017 15:40
von dige
Nein, Crossdomain.

Re: Cookies and SessionIds

Verfasst: 27.10.2017 16:24
von TroaX
Kannst du mal bitte einen kompletten Response-Header vom Login posten? Crossdomain sollte funktionieren, so lange du immer die gleiche Domain ansprichst, da die Cookies immer an die entsprechen Domain mitgeliefert werden. Wenn der Cookie von Domain example.tld kommt, dann leitet er den auch an alle Server, die über diese Domain angesprochen wird, weiter.

Re: Cookies and SessionIds

Verfasst: 01.11.2017 10:12
von dige

Code: Alles auswählen

Access-Control-Allow-Cred...	true
Access-Control-Allow-Orig...	null
Cache-Control	                no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-Encoding 	        gzip
Content-Type	                application/json; charset=utf-8
Date	                                Wed, 01 Nov 2017 08:09:16 GMT
Expires	                        Thu, 19 Nov 1981 08:52:00 GMT
P3p	                                CP="IDC DSP COR CURa ADMa OUR IND PHY ONL COM STA"
Pragma	                        no-cache
Server	                        wildix-http-server
Set-Cookie	                        PHPSESSID=03071717e207f17da9bc1f670a07481e; expires=Wed, 08-Nov-2017 08:09:16 GMT; path=/                               
Transfer-Encodin                 chunked                             
Vary	                                Accept-Encoding 
X-Powered-By	                PHP/5.3.6-6~dotdeb.0