Ankündigung

Einklappen
Keine Ankündigung bisher.

Session-ID abfragen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Gast-Avatar
    Ein Gast erstellte das Thema Session-ID abfragen.

    Session-ID abfragen

    Hallo,

    ich arbeite an einem Login-Skript mit Session-IDs, die per URL übergeben werden. Das meiste klappt soweit, nur an einer Stelle habe ich wohl etwas nicht kapiert:

    Ich möchte, dass die SID nur an die URL gehängt wird, wenn auch wirklich eine Session vorliegt, die der User durch Einloggen gestartet hat. Um diese Bedingung zu überprüfen, brauche ich im Code aber erst session_start(), um dann z.B.
    Code:
    if(isset($_SESSION['angemeldet'])) {...}
    prüfen.
    Dieses session_start() erstellt aber gleichzeitig eine neue SID, falls es noch keine gibt und die wird dann an alle URLs gehängt, obwohl gar keine "richtige" (durch User-Login gestartete) Session vorliegt.

    Wie kann man also überprüfen, ob eine Session-ID vorliegt, ohne dass durch session_start() eine angelegt wird, wenn es vorher keine gab?

    Danke und Grüße,

    Kai

    P.S.: Bitte keine Manual- und Tutorial-Hinweise, das hab ich alles schon hinter mir.

  • Gast-Avatar
    Ein Gast antwortete
    1&1-Konfiguration

    http://faq.1und1.de/hosting/scripte_...ken/php/6.html

    Einen Kommentar schreiben:


  • andy
    antwortet
    Also, weiß ja nicht wie dein Sever eingestellt ist, bei mir bleibt nach session_destroy() der Anhang an die Url leer.

    Wenn du jetzt genaueres hören willst, muss du deine Config zeigen.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Das Interessante ist: Wenn ich meinen Browser Cookies akzeptieren lasse, funktioniert alles und die SID wird nicht an den Link angehängt. Versteht ihr das?

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von Niedi
    wo liegt denn jetzt ganz genau dein problem? kann das irgendwie nicht rauslesen.
    Mein Problem ist, dass trotz session_destroy() die SID erhalten bleibt und ein paar Zeilen später auch an den Link angehängt wird, obwohl ich das nicht will.

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Zitat von andy
    Nein, spricht meines Wissens nichts dagegen,weiß nur nicht wie error_reporting das gefällt.
    Dann verstehe ich nicht, warum er ein paar Zeilen weiter beim Link
    Code:
    Link
    wieder eine SID angibt. Die sollte doch auch gelöscht sein, oder nicht?

    Einen Kommentar schreiben:


  • Niedi
    antwortet
    nein, es spricht nichts dagegen, nach dem session_start() gleich zu überprüfen ob die Variable vorkommt. so mal allgemein.

    wo liegt denn jetzt ganz genau dein problem? kann das irgendwie nicht rauslesen.

    In deinem stück php sehe ich zwar keinen Fehler, jedoch würde ich nicht session_destroy verwenden sondern $_SESSION['angemeldet'] = false; (da du ja oben auch überprüfst ob es vorhanden oder true ist, funktioniert es genausogut)

    Einen Kommentar schreiben:


  • andy
    antwortet
    Nein, spricht meines Wissens nichts dagegen,weiß nur nicht wie error_reporting das gefällt.

    Allerdings sollte das reichen:
    PHP-Code:
    <?php
     session_start
    ();
      if (!isset(
    $_SESSION['angemeldet']) session_destroy();
    ?>

    Einen Kommentar schreiben:


  • Gast-Avatar
    Ein Gast antwortete
    Erstmal danke für die Antwort!

    Spräche denn etwas dagegen, gleich nach dem Session-Start den Login-Status zu überprüfen und die Session bei negativem Ergebnis wieder zu löschen? Habe folgenden Code probiert:

    Code:
    	session_start();
    	if (!isset($_SESSION['angemeldet']) || !$_SESSION['angemeldet']) 
    	{
    		session_destroy();
    	}
    Funktioniert aber nicht.

    Einen Kommentar schreiben:


  • andy
    antwortet
    1. Um mit Sessions arbeiten zu können (sprich prüfen ob eine bestimme Variable gesetzt wurde) muss mit session_start() gearbeitet werden.

    2. Richtige/Falsche Session? HALLO?!

    3. Das mit dem Anhängen: es gibt da ne Möglichkeit, ich finde se zwar unschön und error_reporting wird se dir auch anzeigen, aber du kannst sobald der User sich einloggt, den Namen der Session und die SessionId in eine Variable packen, wenn nicht einloggen, nichts reinschreiben.
    In deiner Linkausgabe die Variable einfach anhängen. der User eingeloggt ist

    4. Das Anhängen an die Url ist auch nicht immer notwendig (wenn Cookie akzeptiert wurde). Kannst du auch mit der oben erwähnten Varaible machen.

    Einen Kommentar schreiben:

Lädt...
X