Cookie auf zwei Seiten gleiche Session

peper

Erfahrenes Mitglied
Moin,
ich möchte gern mein Login auf zwei Seiten verwenden. Ich habe bis gestern nur Session verwendet und versuche mich nun an Cookies.

Ist ein Cookie überhaupt sicher genug?

Jetzt wollte ich versuchen auf beide Seiten die geliche Session ID zu verwenden.
Mein versuch:
PHP:
    session_start();
    setcookie("first",session_id(), (time() + (60*60*2)),"/" , ".yyy.de");
    setcookie("second", session_id(),time() + (60*60*2),"/" , ".xxx.de");

Leider musste ich feststellen das in keinem Beispiel die Websiteadresse hinterlegt ist.
Was mache ich falsch und was sollte ich als Cookie neuling lesen?

LG peper
 
Ich würde keine Cookies verwenden. Dein Login würde bei Nutzern die Cookies deaktiviert haben nicht funktionieren.
 
Eine Session ist doch was anderes als ein Cookie. Sessions werden doch Serverseitig immer wieder zum clienten Übertragen fehlt sie einmal bekommst du sofort eine neue . Sie wird nicht beim Clienten gespeichert.

Ohne session_start() kann ich doch keine Session erzeugen. Welches beispiel meinst du genau ComFreek?

Oder habt ihr eine gute Idee für ein Loginsystem das von zwei Websites zugleich genutzt werden kann?
Gruß Pepe
 
Zuletzt bearbeitet:
Moin,

mal grundsätzlich zur Domainangabe in setcookie()

Du kannst natürlich nicht wahllos Cookies für irgendwelche Domain erstellen.
Ein Skript, welches auf xxx.de läuft kann Cookies erstellen für Subdomains von xxx.de, aber natürlich niemals für yyy.de und Subdomains davon
 
@peper: Eine Session in PHP ist nichts anderes als ein Cookie beim Benutzer mit einer ID. Wenn die an den Server übertragen wird, lädt PHP automatisch die Daten (aus einer Datei?).
z.B. versuch dich mal bei tutorials.de anzumelden und dann lösche die Cookies im Browser (meist Extras->Internetdaten löschen). Dann bist du nicht mehr angemeldet.
 
Moin,

mal grundsätzlich zur Domainangabe in setcookie()

Du kannst natürlich nicht wahllos Cookies für irgendwelche Domain erstellen.
Ein Skript, welches auf xxx.de läuft kann Cookies erstellen für Subdomains von xxx.de, aber natürlich niemals für yyy.de und Subdomains davon

Hi,

Ich dachte man kann auf dem gleichen Server cookies auch mit anderen Domains nutzen.
Geht das nicht?

Gruß pepe
 
Nö, das geht nicht.
Entscheidend ist der HTTP_HOST, also der Host, der vom Clienten angefragt wurde.

Ruft jemand ein Skript per http://xxx.de/skript.php auf, kannst du dort Cookies für xxx.de und Subdomains davon setzen.

Ruft er dasselbe Skript vom selben Server per http://yyy.de/skript.php auf, kannst du dort Cookies für yyy.de und Subdomains davon setzen.

Dasselbe betrifft nicht nur das Lesen, sondern selbstverständlich auch das Schreiben.
 
Wie bereits richtig angemerkt wurde, sind Cookies an eine Domain gebunden. Dennoch ist es möglich Sessions zu teilen. Dazu ist es nötig, die Session-Infos zentral zu speichern (Ein Server, eine Datenbank), damit alle beteiligten Server darauf zu greifen können.

In .net gibt es dazu Beispielsweise den ASP.net Session State Dienst, welcher auf einem der Server läuft und von außen Session-Anfragen entgegen nimmt und Sessions verwaltet. Auch ist es möglich die Sessions in einer Datenbank zu speichern. Das ist in PHP ebenfalls möglich: http://www.tutorials.de/forum/php-tutorials/276191-sessions-der-datenbank-speichern.html

Jetzt bleibt noch das Problem, dass das Cookie mit der Session-ID über mehrere Domains verteilt werden mussen. Dazu bedarf es ebenfalls einer zentralen Stelle, welche dieses Verwaltet: http://www.15seconds.com/issue/971108.htm (hab den erst besten Google Treffer genommen)

Man muss eben kreativ sein. Aber ohne Arbeit wird es nicht funktionieren (es sei denn man findet ein CMS/ eine Software, welche alles beherrscht)
 
Zurück