Marius: PHPSESSID

Guten Abend,
ich habe folgendes Problem (ich hoffe ihr könnt weiterhelfen):

ich gebe einer session beim login eine id:~~~php

session_id($session_id);

  
($session\_id ist eine zufallstext/zahl und die id des nutzers)  
  
anschließend starte ich nun die session:~~~php
  
session_start();

Frage 1: Ist diese Session nun nur mit Hilfe von "$session_id" (also dem inhalt) aufrufbar, oder habe ich bereits hier einen Fehler begangen?

Nun funktioniert mein Login schon mal (auch wenn ich nicht weiß, ob die session nun von der id abhängt.) Wenn ich Cookies ausschhalte funktioniert es aber dann leider nicht mehr.
Soweit ich das verstanden habe müsste es doch aber eig. funktionieren,
wenn ich an die Links mit ..?PHPSESSID=aktuellesessionid ranhänge.
Ich gebe also bei mir aktuell immer an den Link noch die aktuelle sessionid mit. Ich dachte die wird dann automatisch von php genommen, um die session zu laden?

Frage 2: Warum kann die Session nicht geladen werden, wenn ich mit PHPSESSID die sessionid üergebe? (Bei ausgeschalteten Cookies)

Danke im vorraus.
Gruß, Marius

  1. Hi,

    ich gebe einer session beim login eine id:~~~php

    session_id($session_id);

    
    >   
    > ($session\_id ist eine zufallstext/zahl und die id des nutzers)  
      
    Warum?  
      
    „Selbst gemachte” Zufallswerte sind selten besser, als die von erprobten Mechanismen erzeugten - oftmals schlechter.  
      
    
    > anschließend starte ich nun die session:~~~php
      
    
    > session_start();
    
    

    Frage 1: Ist diese Session nun nur mit Hilfe von "$session_id" (also dem inhalt) aufrufbar

    Was meinst du mit „aufrufen”?

    Wenn ich Cookies ausschhalte funktioniert es aber dann leider nicht mehr.
    Soweit ich das verstanden habe müsste es doch aber eig. funktionieren,
    wenn ich an die Links mit ..?PHPSESSID=aktuellesessionid ranhänge.
    Ich gebe also bei mir aktuell immer an den Link noch die aktuelle sessionid mit. Ich dachte die wird dann automatisch von php genommen, um die session zu laden?

    Du solltest aufhören, dir irgendetwas selber zu basteln.

    Nutze den Default-Sessionmechanismus von PHP, ggf. nach eigenen Vorstellungen konfiguriert.

    Frage 2: Warum kann die Session nicht geladen werden, wenn ich mit PHPSESSID die sessionid üergebe? (Bei ausgeschalteten Cookies)

    Weil du wohl irgendwas falsch machst.

    Den technischen Fehler erkenne ich auf Anhieb nicht aus deiner Beschreibung, wohl aber den methodischen: Du versuchst etwas erprobtes und bewährtes selber nachzubasteln, und das offenbar mit noch nicht einmal besonders viel Ahnung.
    Lass es bleiben.

    MfG ChrisB

    --
    “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
    1. Und welchen "einfachen" weg sollte ich ansonsten gehen?
      Im Internet habe ich mehrfach gelesen, dass man eine zufällige session_id nehmen soll.. reicht es also doch aus, wenn ich eine session_id automatisch geben lassen?
      Gibt es eine sinnvolle Anleitung im Internet?
      Mir ist keine ausführliche bis jetzt bekannt.
      MfG, Marius

      1. Hallo!

        Gibt es eine sinnvolle Anleitung im Internet?

        Ja, es gibt genau eine sinnvolle Dokumentation zu allen PHP-Themen und dort findest Du auch die
        Session-Referenz

        Ciao

        GG

        --
        "If I do not seek to understand what is happening here
        - then I've got peanuts in my head!"
        (I. Hosein)
      2. Hi,

        Im Internet habe ich mehrfach gelesen, dass man eine zufällige session_id nehmen soll.. reicht es also doch aus, wenn ich eine session_id automatisch geben lassen?

        Natürlich.

        Gibt es eine sinnvolle Anleitung im Internet?
        Mir ist keine ausführliche bis jetzt bekannt.

        Anleitung zu was?

        Sessions in PHP sind an sich ein derart simples Konzept, dass ich echt nicht erkennen kann, wo die Verständnisschwierigkeiten dabei immer wieder liegen.

        MfG ChrisB

        --
        “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
        1. Vielen Dank erstmal für die Hilfe.
          Ich habe es theoretisch nun schon Mal auf meine Weiße geschafft.
          Aber möchtes nun eig. auf eure/deine Versuchen.
          Und komme wieder zu meinem Anfangsproblem zurück.
          Bei ausgeschalteten Cookies funktionieren die sessions nicht.
          => Ich muss sie wohl wieder selbst dranhängen.
          Wie schaff ich, dass PHP es selber macht.
          Normal gibt es doch eine Datei, in der man es einstellen kann.
          Vllt. liegt es auch an meinem Webspache: bplaced.
          Gruß, Marius

          1. Hi,

            Und komme wieder zu meinem Anfangsproblem zurück.
            Bei ausgeschalteten Cookies funktionieren die sessions nicht.
            => Ich muss sie wohl wieder selbst dranhängen.
            Wie schaff ich, dass PHP es selber macht.

            RTFM: http://www.php.net/manual/en/session.configuration.php

            MfG ChrisB

            --
            “Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]
  2. Hello,

    Soweit ich das verstanden habe müsste es doch aber eig. funktionieren,
    wenn ich an die Links mit ..?PHPSESSID=aktuellesessionid ranhänge.

    Das hängt davon ab, aus welchen Zeichen die selbstgemachte Session-ID besteht und ob diese überhaupt in einer URi vorkommen dürfen.

    Den Vorteil kann ich auch nicht sehen (siehe Einwand von ChrisB https://forum.selfhtml.org/?t=193988&m=1296364).

    Wenn Du allerdings die Zeichenanzahl für die Session-ID erhöhen und die User-ID voranstellen würdest, dann könnte das für das Handling im System tatsächlich Vorteile haben.

    Die beliebte "wer ist Online"-Anzeige wäre dann z.B. ganz leicht schon mit dem Session-Basis-System möglich und die Sicherheit würde sich vermeintlich auch erhöhen lassen können. Da ist es aber notwendig, die "Zufälligkeit" des Strings genau zu untersuchen. Unterschiedliche Systeme (32 Bit, 64 Bit, unterschiedliche PHP-Versionen, ...) verhalten sich da ggf. ganz kontraproduktiv.

    Eine Untersuchung dazu haben mal (mehr zufällig) Globe und ich gemacht.
    http://forum.de.selfhtml.org/archiv/2009/6/t187722/#m1248234

    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
     ☻_
    /▌
    / \ Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  3. Hallo,

    http://forum.de.selfhtml.org/archiv/2009/12/t193435/#m1292270.

    keine id. session_start() und php machen lassen. $_SESSION steht dir zur verfügung, wenn du eine am laufen hast. $_SESSION["myLoginVar"] kannst Du dann zB. auf true setzen, wenn Deine Bedingungen erfüllt sind. Das checkst Du dann immer (if($_SESSION["myLoginVar"]{}), wenn du Login zur Bedingung machnen willst.

    Gruß

    jobo