Seite 1 von 1

Cookie wird in ID nicht erzeugt...

Verfasst: Do 26. Okt 2006, 23:16
von Leo
Hallo,

warum wird im Backend beim IE kein Cookie anlegt?

In Contenido möchte ich eine externe Anwendung einbinden. Möchte natürlich, wenn der Anwender sich abgemeldet hat, dass auch meine Anwendung (die natürlich im Adressfeld steht) nicht mehr zu öffnen ist und das er auf die Login-Seite weitergeleitet wird. Wie ich festgestellt habe, wird die aktuelle Session_id in der Tabelle con_phplib_active_sessions abgespeichert. Bis jetzt habe ich es so gelöst, dass die Session_ID an meine externe Anwendung übergeben wird und dort mit der Session_ID in der Tabelle immer verglichen wird. Meldet man sich ab, fliegt man raus! :)

Die Überprüfung wollte ich noch etwas verfeinern. Es soll sowohl die Session_id als auch das Cookie (SID_1_1) verglichen werden. Also nur der Nutzer an diesem Browser soll Zugriff auf das CMS mit dieser Session haben. Aber beim IE wird das Cookie nicht gesetzt. Wenn man die Adresse von einem geöffneten CMS in Firefox kopiert und diesen wieder im IE einfügt, ist man auf einmal ohne Anmeldung im CMS. Ich glaube, dass sollte so nicht sein. Oder??? :shock:

Beim Firefox funktioniert meine Überprüfung! Leider arbeiten die meisten Anwender aber mit dem IE. :(

Ist das nun ein IE Problem oder habe ich irgendetwas übersehen. Könnte es auch sein, dass das ein Bug in Contenido ist?

Ist jemanden das Problem auch schon aufgefallen?

Vielen Dank schon einmal für eure Hilfe!

Gruß

Leo

Verfasst: Do 26. Okt 2006, 23:19
von HerrB
Ist das nun ein IE Problem oder habe ich irgendetwas übersehen.
Ja.
Könnte es auch sein, dass das ein Bug in Contenido ist?
Nein.

Im Backend wird die Session-ID über die URL übergeben. Warum? Keine Ahnung.

Gruß
HerrB

Ansatz für Problemlösung...

Verfasst: Do 26. Okt 2006, 23:34
von Leo
Hallo HerrB!

Gibt es einen Ansatz, wie ich das Problem lösen kann.

Vielen Dank für Antwort!

Gruß

Leo

Verfasst: Fr 27. Okt 2006, 12:31
von HerrB
Auf die Schnelle ist mir nichts bekannt, da auch die einfache Umstellung der Session-Verwaltung das Problem nicht löst, da in Contenido überall die ID als POST und URL-Parameter übergeben wird.

Eine Stelle wundert mich noch: Der Firefox speichert im Backend einen Cookie, der IE nicht? Sicher?

Gruß
HerrB

Verfasst: Fr 27. Okt 2006, 13:12
von kummer
auch der ie speichert die session-id im cookie. etwas anderes ist gar nicht denkbar. mindestens soweit ich weiss.

Cookie werden trotzdem nicht gesetzt...

Verfasst: Mo 30. Okt 2006, 10:19
von Leo
Hallo Kummer,

das kann nicht sein. :? Ich habe über PHP($_COOKIE['sid_1_1']) versucht den Cookie auszulesen. Beim Firefox hat das funktioniert, beim IE nicht. Außerdem habe ich versucht, den Cookie in diesem Ordner zu finden:
C:\Dokumente und Einstellungen\xxx\Cookies

Leider steht dieser nicht drin. Normalerweise werden die Cookie's für den IE dort rein geschrieben. Also muss ich davon ausgehen, dass der Cookie nicht gesetzt wird. Oder???

Gruß

Leo

Verfasst: Mo 30. Okt 2006, 10:31
von emergence
ähm, wie sehen die sicherheitseinstellungen(datenschutz) des ie browsers aus ? sind da cookies überhaupt erlaubt ?

Cookie

Verfasst: Mo 30. Okt 2006, 10:41
von Leo
IE ist so eingestellt, dass die Cookies gesetzt werden können.

Gruß

Leo

Verfasst: Mo 30. Okt 2006, 11:02
von emergence
teste mal folgendes als output modul

Code: Alles auswählen

<?php

echo "Session Name:".$sess->name." ID:".$sess->id;

echo "<pre>";
print_r($_COOKIE);
echo "</pre>";

?>
wenn du die seite dann mehrmals aufrufst, ist eigentlich nur der punkt intressant ob sich die ID ändert... falls sie bei jedem aufruf anders ist, speichert der browser kein cookie...

die andere sache -> im backend von contenido wird kein cookie gespeichert...

Cookie / Sicherheitsproblem

Verfasst: Mo 4. Dez 2006, 11:03
von Leo
Hallo Emergence,

Der Output-Bereich ist doch für das Frontend gedacht. Oder? Im Frontend wird das Cookie auch beim IE gesetzt, aber nicht im Backend. Mir ging es darum, wenn man sich im CMS (IE) angemeldet hat und die Url kopiert, kann man ohne Anmeldung mit der kopierten Url in einem anderen Browser (Firefox) in das Backend des CMS gelangen. Das ist doch aus Sicherheitsgründen sehr problematisch, oder??? Theoretisch bräuchte man die Url nur abfangen, und könnte in der Zeit einen neuen Benutzer anlegen.

Nur mit einem gesetzten Cookie wäre die Sicherheit einigermaßen gewährt. Das glaube ich zu mindest.

Viele Dank trotzdem für den Tipp!!!

Viele Grüße

Leo

Verfasst: Mo 4. Dez 2006, 11:23
von HerrB
Das ist doch aus Sicherheitsgründen sehr problematisch, oder??? Theoretisch bräuchte man die Url nur abfangen, und könnte in der Zeit einen neuen Benutzer anlegen.
Das ist aus Sicherheitsgründen sicherlich nicht perfekt. Allerdings müsste man dazu die URL abfangen, das wäre dann ein Man-In-The-Middle-Angriff. Das kann nur innerhalb Deiner lokalen Umgebung passieren, beim Provider oder jemand "lockt" Dich auf "seine" Seite, wo Du denkst, Du wärst bei Dir.
Nur mit einem gesetzten Cookie wäre die Sicherheit einigermaßen gewährt. Das glaube ich zu mindest.
Na ja, es ist ja nun nicht so, als Bestände gar keine Sicherheit - der Aufwand, Dich da auszutricksen wäre schon nicht unerheblich. Wenn ich soviel Aufwand da rein stecke, bin ich auch in der Lage, die Session-ID (die dann nach wie vor im Klartext übertragen wird), in einen Cookie bei mir zu zaubern...

Ideal wäre Cookie und HTTPS - aber das mit dem Cookie ist im Moment im Backend nicht machbar (enormer Aufwand).

Gruß
HerrB

Verfasst: Mo 4. Dez 2006, 11:40
von stese
@leo - schon mal daran gedacht dem contenido verzeichnis mittels .htaccess ein passwort zu geben? sollte eigentlich standard sein. dann kann auch session riding nicht passieren

Verfasst: Mo 4. Dez 2006, 12:20
von HerrB
Guter Vorschlag...

Gruß
HerrB

Verfasst: Mi 23. Mai 2007, 14:15
von pmedia
etwas spät, aber ich habe diesen Thread erst jetzt gefunden...

Auch ich hatte mit dem IE, speziell IE7, schon ähnliche Probleme allerdings im Frontend (im Backend nutze ich den nicht :-) ).

Zum Test habe ich dann auch das Cookiescript von emergence genutzt und habe das Browsercaching als Problemquelle identifiziert.

Diese Problem diskutiere ich gerde in einem eigenen Thread: http://contenido.org/forum/viewtopic.php?t=17099

Ausserdem hat der IE7 offensichtlich noch eine eigene Besoderheit: er speichert Cookies scheinbar auch irgenwo temporär, da auch bei mir die Cookies nicht im Vereichnis \Cookies unter C:\Dokumente und Einstellungen\... zu finden sind und das emergence-Script trotzdem auf das erfolgreiche setzen eines Cookies hinweist.

Wenn ich mal etwas mehr Zeit habe, werde ich dieses Thema noch mal genauer analysieren (ich habe noch eine Website in Arbeit die mit dotNetNuke als CMS werkelt, und von dieser werden alle Cookies am 'korrekten' Speicherort abgelegt).

Eine weitere Lösungsmöglichkeit könnte der Einsatz eine P3P-konformen Datenschutzrichtlinie sein. Daran arbeite ich zur Zeit priorisiert. Meine Erfahrung werde ich dann in einen neuen Thread posten (bisher konnte ich im Forum zu diesem Theme nichts finden).

Verfasst: Mi 23. Mai 2007, 15:34
von wosch
pmedia hat geschrieben:Ausserdem hat der IE7 offensichtlich noch eine eigene Besoderheit: er speichert Cookies scheinbar auch irgenwo temporär, da auch bei mir die Cookies nicht im Vereichnis ...
Nicht nur der IE 7 sondern auch der IE 6 (beim 5.5 weiß ich es nicht genau)


Man muß bei Coockies genau unterscheiden zwischen Session (temporär) und permanent (gespeicherte) Cookies.
Das Script von emergence nutzt Session-ID / Session-Cookies,
die werden beim IE nicht gespeichert sondern "Temporär" gemerkt,
bis _ALLE_ IE-Fenster geschlossen sind, erst dann werden die Cookies gelöscht und stehen nach dem erneuten Aufruf des IE nicht mehr zur Verfügung.
Und der IE gibt keine Auskunft über den Inhalt dieser Cookies (Im Unterschied zum FF).
Ich hatte mal ein Prog das war in der Lage Session-Cookies des IE auszulesen. Mal nach Cookie-Managemant suchen, läßt sich sicher finden.

(Alle IE-Fenster haben jederzeit Zugriff auf diese Session-Cookies,
egal wie lange das Fenster schon auf ist, bzw. welches Fenster das Cookies wann empfangen hat.)

Das könnt ihr gerne mal ausprobieren, z.B. hier mit einloggen im Forum.
1. IE-Fenster öffnen, hier einloggen, dann 2. IE-Fenster öffnen und das Forum aufrufen, ihr seit direkt im Forum eingeloggt.