XHTMLforum

XHTMLforum (http://xhtmlforum.de/index.php)
-   Serveradministration und serverseitige Scripte (http://xhtmlforum.de/forumdisplay.php?f=80)
-   -   SESSION / COOKIE - Konflikte (http://xhtmlforum.de/showthread.php?t=49537)

poppihasi 23.12.2007 13:52

SESSION / COOKIE - Konflikte
 
So probier jetzt seit 4 Stunden.

Ursprünglich:
Wenn sich Leute in meinen Account einloggen starte ich eine Session und lege ein Cookie an. Solange ich mich innerhalb der Session bewege, existiert das Cookie auch noch. Verlasse ich die Session und verweise auf die Startseite (mit session_start() und session_destroy() im header, wo alle Sessions gelöscht werden) löscht es mir den Cookie mit.

Nun gut! Dachte vielleicht hängt das mit der Session zusammen.
Also hab ich die Scripte umgebastelt.

Nun entscheidet das Loginscript, ob ein cookie existiert oder nicht. je nach Fall wird es auf ein jeweiliges dokument verwiesen.

Existiert kein cookie, wird über das erste script eins angelegt (keine session_start() im dokument vorhanden), dann auf das zweite verwiesen und dort erst die session gestartet, um in den abgesicherten bereich zu kommen.

Existiert ein cookie, wird gleich das script mit der session gestartet.

Bei beiden existiert das cookieauch innerhalb der session wieder. wie beim ursprünglichen script. Aber sobald ich wieder auf die startseite mit sssion_start() & session_destroy() gehe, killts mein cookie.

PHP-Code Startseite
PHP-Code:

<?php error_reporting(E_ALL);session_start();session_destroy();
  if (!
$_COOKIE["cb01"])
   {
    print 
"kein cookie da";
    
$docname "account/index-aktualisierung.php";
   }
  if (
$_COOKIE["cb01"])
   {
    print 
"schau her - ein cookie";
    
$docname "account/index.php";
   }
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
[...]

Anmerkung:
PHP-Code:

  if ($_COOKIE["cb01"])
   {
    print 
"schau her - ein cookie";
    
$docname "account/index.php";
   } 

Diese Bedingung wird nie aufgerufen. Egal wie oft ich die Vorgänge wiederhole. Das heisst doch, dass das Cookie net mehr exisitiert oder?

poppihasi 23.12.2007 14:29

gelöst
 
Gut hab die Lösung gefunden.

Meine Annahme basierte darauf, das ein Cookie ohne Pfadangabe für die gesamte Domain gültig ist. Ein Irrtum. Ohne Pfadangabe ist er nur im aktuellen Verzeichnis gültig.

Tja wenn man die sich Bedingungen falsch gemerkt hat, dann kommt sowas raus :)


Alle Zeitangaben in WEZ +2. Es ist jetzt 16:31 Uhr.

Powered by vBulletin® Version 3.8.11 (Deutsch)
Copyright ©2000 - 2024, vBulletin Solutions, Inc.

© Dirk H. 2003 - 2023