Cookies und SSL Verschlüsselung
Daniel Petratsch
- browser
0 Erwin
Hallo!
Ich habe bin gerade dabei einen Internet Shop zu programmieren, das heisst eigentlich ist er ja schon fast fertig. Jetzt wollte ich noch die SSL Verschlüsselung einbauen , um die Sicherheit zu gewährleisten und plötzlich werden die Cookies nicht mehr akzeptiert. Der Internet Explorer meldet sich mit dem "Privacy Report" in der Statusleiste und teilt mir mit, dass einige bzw. alle Cookies wegen der lokalen Sicherheitseinstellung im Internet Explorer geblockt werden. Das komische ist aber, dass es ja vorher ja auch funktioniert hat als ich noch kein SSL eingebaut hatte.(Sicherheitsstufe Medium). Es funktioniert erst dann wieder, wenn ich die Sicherheit gänzlich ausstelle und alle Cookies akzeptiere.
Ich habe einmal die komische Vorahnung, dass es daran liegen könnte, das die Webseite seitdem ich das SSL installiert habe nicht mehr identifiziert werden kann und somit auch keine Sicherheitseinstellungen mehr gelesen werden können. Vielleicht wird dann deswegen die Seite als "unsicher" eingestuft und es werden alle Cookies geblockt.
Was kann ich nun tun, um nun die Cookies, die ich ja für das Login benötige wieder akzeptieren zu lassen? Ich kenne mich leider mit der SSL Verschlüsselung und den Sicherheitsaspekten nicht gerade besonders gut aus, deswegen hoffe ich auf Hilfe eureseits.
Danke,
Daniel
Hallo!
Was kann ich nun tun, um nun die Cookies, die ich ja für das Login benötige wieder akzeptieren zu lassen? Ich kenne mich leider mit der SSL Verschlüsselung und den Sicherheitsaspekten nicht gerade besonders gut aus, deswegen hoffe ich auf Hilfe eureseits.
Hmm. Explorer... jabadabbadoo --- es gibt auch noch andere Browser!
Und genaus so einen schnapp ich mir, wenn's ein Problem mit Cookies gibt. Beispielsweise den Mozilla. Mit dem kann ich genau gucken, was der mit Cookies macht. Im Gegenthum zum IE.
Viele Grüße, Rolf
Cookies und Sessions, PERL...
http://perlbase.xwolf.de/cgi-bin/perlbase.cgi?display=16&id=2
Hello,
du müsstest Deiner Sessionverwaltung wahrscheinlich auch das andere sheme beibringen. https:// ist ja nicht gleich http://
Liebe Grüße aus http://www.braunschweig.de
Tom
Hello Tom,
du müsstest Deiner Sessionverwaltung wahrscheinlich auch das andere sheme beibringen. https:// ist ja nicht gleich http://
Nicht wirklich.
Mit Sessions und Cookies hat das eigentlich nichts zu tun. Es sei denn, der Browser vermasselt das ;-)
Oder ich flechte das Protocol mit ein (also ne ich nich, was interessieren mich Protokolle *G).
Hab CGI's geschrieben womit , nach einem Login, eine Session aufgebaut wird. Diese Script's tun sowohl mit HTTP als auch mit HTTPS.
Gruss, der Erwin
Hallo Erwin
Hmm. Explorer... jabadabbadoo --- es gibt auch noch andere Browser!
Und genaus so einen schnapp ich mir, wenn's ein Problem mit Cookies gibt. Beispielsweise den Mozilla. Mit dem kann ich genau gucken, was der mit Cookies macht. Im Gegenthum zum IE.
Ja klar gibt es noch andere Browser, kann ich dem Kunden aber nicht sagen, dass er sich zuerst den Mozilla installieren soll damits funktioniert :)
Im Mozilla gehts eigentlich auch nicht :(
Ich weiss nicht wie genau das mit den Zertifikaten ist. Die Situation ist folgende:
Ich habe eine index.php Datei, die ein Frameset beinhaltet (3 Frames). Die index.php wird aber normal über http aufgerufen, und erst die einzelnen Frames mit dem https Protokoll. dadurch erkennt der Browser dann kein Sicherheitszertifikat und nimmt fälschlicherweise an, dass es sich um eine unsichere Seite handelt und blockt ab Sicherheitsstufe "Low" alle Cookies.
Ich habe die Indexseite einmal übers https aufgerufen und dann funktionierts. Das Problem ist aber dass der Aufruf über https etwas kompliziert ist und dass kann ich dem Kunden nicht zumuten diese Adresse einzugeben.
Gibts da keine anderen Möglichkeiten dieses https Sicherheitszertifikat dem Browser mittzuteilen, um die Seite wieder als "Sichere Seite" aufscheinen zu lassen? Meine letzte Idee, wär eine automatische Weiterleitung von der nomalen http Adresse auf die https....aber dass muss doch besser gehen, ist irgendwie unschön.
freundliche Grüsse,
Daniel
Hallo!
Ich habe die Indexseite einmal übers https aufgerufen und dann funktionierts. Das Problem ist aber dass der Aufruf über https etwas kompliziert ist und dass kann ich dem Kunden nicht zumuten diese Adresse einzugeben.
Vielleicht ist ja hier das Problem. Kann es sein dass Du für Deine Domain kein eigenes Zertifikat hast? Benutzt Du vielleicht sowas wie "https://sslproxy.tld/deinedomain.de...", also einen SSL-Proxy Deines Providers?
In diesem Fall ist es verständlich dass der Browser nicht die cookies die er von "deinedomain.de" erhalten hat - an einen Server der "sslproxy.tld" heißt - oder? Woher könnte er mit Sicherheit wissen dass sich dahinter wieder Deine Seite verbirgt - und nicht "boeserserver.de.vu"? Wenn dem so ist wird es mit cookies nicht klappen. Dann musst Du die Session-ID anders an die SSL-Adresse übergeben, per URL-Parameter z.B..
Wenn Du dieselben hostnamen verwendest - was genau verwendest Du für einen Session-Mechanismus? Wie sieht so ein Cookie aus?
Grüße
Andreas
Hi Andreas!
Ich habe die Indexseite einmal übers https aufgerufen und dann funktionierts. Das Problem ist aber dass der Aufruf über https etwas kompliziert ist und dass kann ich dem Kunden nicht zumuten diese Adresse einzugeben.
Vielleicht ist ja hier das Problem. Kann es sein dass Du für Deine Domain kein eigenes Zertifikat hast? Benutzt Du vielleicht sowas wie "https://sslproxy.tld/deinedomain.de...", also einen SSL-Proxy Deines Providers?
Huch, ich habe doch gar nichts gesagt und du kennst mein Problem, sowas nenne ich löblich ;)
In diesem Fall ist es verständlich dass der Browser nicht die cookies die er von "deinedomain.de" erhalten hat - an einen Server der "sslproxy.tld" heißt - oder? Woher könnte er mit Sicherheit wissen dass sich dahinter wieder Deine Seite verbirgt - und nicht "boeserserver.de.vu"? Wenn dem so ist wird es mit cookies nicht klappen. Dann musst Du die Session-ID anders an die SSL-Adresse übergeben, per URL-Parameter z.B..
Es ist genau so wie du sagst,nämlich dass ich ein Verzeichnis hab, in dem ich die zu verschlüsselnden Daten speichern muss und dann über
"https://ssl.provider.at/meine-domain.at/verzeichnis"
aufrufen muss. Ich habe mich schon beim Provider erkundigt, ist aber anders leider nicht möglich (sagte der - dass es möglich ist ist eh klar wie Kloßbrühe, aber natürlich gegen einen warscheinlich nicht unerheblichen Kostenaufwand :( )
Eigentlich wollte ich das mit der Sessionübergabe per URL vermeiden, da es erstens sehr aufwendig ist (trans-sid deaktiviert) und zweitens lege ich mir damit ja selbst wieder ein Ei mit der Sicherheit, denn dann habe ich zwar auf der einen Seite eine sichere Verbindung, im Falle einer Copy&Paste Linkweitergabe kann aber dann der Benutzer gleich den Account vom anderen übernehmen, also wäre es auf gut Österreichisch "ghupft wie ghatscht" ,auf Deutsch übersetzt: "gehüpft wie gesprungen" :)
Ich werde noch einmal versuchen eine automatische Weiterleitung der Domain auf die https verschlüsselte Index Datei zu legen, dann müsste es funktionieren, da es ja laut deiner Auskunft, die mir um einiges weitergeholfen hat, da ich nun wenigstens weiss worans hapert - nicht anders möglich ist.
Danke!
Daniel
Hi Daniel!
Vielleicht ist ja hier das Problem. Kann es sein dass Du für Deine Domain kein eigenes Zertifikat hast? Benutzt Du vielleicht sowas wie "https://sslproxy.tld/deinedomain.de...", also einen SSL-Proxy Deines Providers?
Huch, ich habe doch gar nichts gesagt und du kennst mein Problem, sowas nenne ich löblich ;)
Jaja... mit der Zeit hier im Forum entwickelt eine Glaskugel wirklich beeindruckende Fähigkeiten ;-)
Es ist genau so wie du sagst,nämlich dass ich ein Verzeichnis hab, in dem ich die zu verschlüsselnden Daten speichern muss und dann über
"https://ssl.provider.at/meine-domain.at/verzeichnis"
aufrufen muss. Ich habe mich schon beim Provider erkundigt, ist aber anders leider nicht möglich (sagte der - dass es möglich ist ist eh klar wie Kloßbrühe, aber natürlich gegen einen warscheinlich nicht unerheblichen Kostenaufwand :( )
Ja, sowas kostet nunmal. Ist aber erheblich sicherer und vertrauenserweckender - aber eben auch teurer :)
Eigentlich wollte ich das mit der Sessionübergabe per URL vermeiden, da es erstens sehr aufwendig ist (trans-sid deaktiviert)
Das hat nicht notwendigerweise was mit trans-sid zu tun. Wieviele Links zeigen denn auf die SSL-Domain? Alle die müsstest Du manuell ändern ("script.php?".session_name()."=".session_id()).
und zweitens lege ich mir damit ja selbst wieder ein Ei mit der Sicherheit, denn dann habe ich zwar auf der einen Seite eine sichere Verbindung, im Falle einer Copy&Paste Linkweitergabe kann aber dann der Benutzer gleich den Account vom anderen übernehmen,
... Moment - wie denn das? Wenn ein Benutzer keinen "Account" hat, muss er an eine gültige Session-ID kommen. Wenn das so schützenswerte Accounts sind - wieso sollte jemand diesen einfach weitergeben? Und wenn Du _das_ verhindern willst - vergiss es, wenn ich Cookies mitlesen will kostet mich das alles in allem 1 klick!
also wäre es auf gut Österreichisch "ghupft wie ghatscht" ,auf Deutsch übersetzt: "gehüpft wie gesprungen" :)
hm, nur in sofern dass es "ghupft wie ghatscht" ist, ob Du jetzt Cookies oder URL-Parameter verwendest :)
Ja, URL-Parameter haben den Nachteil dass bei externen Links die ID ggfs. über den Referer in fremde Logs wandert. Allerdings trifft das bei SSL nicht zu (zumindest bei den Browsern die ich getestet habe), da wird an externe Seiten der Referer nicht übermittelt - und von trans-sid auch nicht am die URL gehängt - also IMHO kein Problem.
Allerdings solltest Du für alle Fälle in jedem Fall einen zuverlässigen Timeout-Mechanismus einbauen!
Ich werde noch einmal versuchen eine automatische Weiterleitung der Domain auf die https verschlüsselte Index Datei zu legen, dann müsste es funktionieren, da es ja laut deiner Auskunft, die mir um einiges weitergeholfen hat, da ich nun wenigstens weiss worans hapert - nicht anders möglich ist.
Wie gesagt, kannst Du die Session-ID nicht wirksam vor dem Anwender verstecken. Wenns denn unbedingt sein muss, könntest Du mit Buttons und POST-Requests arbeiten, oder per Location-header mit angehängter SID, und dann auf SSL-Seite wiederum mit "internem" Location-header - diesmal mit Cookie....
Aber wie gesagt - IMHO vergeudete Zeit.
Grüße
Andreas