Ankündigung

Einklappen
Keine Ankündigung bisher.

ohne sid übergabe. was passiert?

Einklappen

Neue Werbung 2019

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

  • ohne sid übergabe. was passiert?

    nachdem ich mein script mit einer login-session zum laufen gebracht habe, ist mir nun folgendes aufgefallen:

    wenn ich die sid NICHT mit übergebe, aber in der nächsten datei abfrage, ob ich noch in der gleichen session bin, sprich ich überprüfe den 'usernamen', dann existiert trotzdem die session!?

    so leite ich auf die nächste datei:

    Code:
    header('Location:http://www.irgendwas.com/blabla/haha/hehe/');
    was passiert hier?

  • #2
    ich glaub die session bzw. die session-id wird in nem extra cookie gespeichert. bin mir da aber ent ganz sicher.

    Kommentar


    • #3
      Hm ja, habe ich mich auch schon gefragt, was passiert, wenn man die nicht mit übergibt. Funktionieren tut alles einwandfrei, aber vielleicht ist es sicherer, die mit zu übergeben?

      Kommentar


      • #4
        die sid ist im tmp gelagert, aber woher weiss die nächste datei das nun?

        Kommentar


        • #5
          Deine PHP.ini Einstellungen sind dann
          Session.use.cookies ON ON
          Session.usw.always-cookies OFF OFF

          Das heißt mit andern Worten, PHP hängt beim ersten mal bei korrekter Behandlung die Sessionid automatisch an die URL an und speichert sie in einem Cookie. Sollte beim nächsten Sessionstart dieser Cookie vorhanden sein, wird nix mehr angehängt, weil PHP sich jetzt sicher ist, das cookies aktiviert sind. Das ist bei dir der Fall.
          Ich würe Session.usw.cookies ausschalten, wenn du kein Rootzugriff hast nimm iniset.

          Wilko

          Kommentar


          • #6
            Zitat von Michigras
            Funktionieren tut alles einwandfrei
            ja genau, deshalb versteh ich es nicht!

            genauso wird mir, wenn ich sie mit angebe, nur das ? angezeigtwird, aber die eigentliche sid, die ja dahinter mitübergeben werden sollte, nicht!??

            diese "übergabe" ist mir leider nicht so ganz klar!

            Kommentar


            • #7
              Zitat von wilko
              Deine PHP.ini Einstellungen sind dann
              Session.use.cookies ON ON
              Session.usw.always-cookies OFF OFF

              Das heißt mit andern Worten, PHP hängt beim ersten mal bei korrekter Behandlung die Sessionid automatisch an die URL an und speichert sie in einem Cookie. Sollte beim nächsten Sessionstart dieser Cookie vorhanden sein, wird nix mehr angehängt, weil PHP sich jetzt sicher ist, das cookies aktiviert sind. Das ist bei dir der Fall.
              Ich würe Session.usw.cookies ausschalten, wenn du kein Rootzugriff hast nimm iniset.

              Wilko
              aha, vielen dank wilco!

              da ich nicht mit cookies arbeiten wollte, werd ich das mal probieren!

              und das heisst dann auch, das ich dann aber die sid auf jeden fall mitgeben muss, damit die nächste datei in der session bleibt, oder?

              Kommentar


              • #8
                Jo, aber PHP hängt dir die Sessionid auch automatisch dran.

                Das mit iniset nochma genauer:

                (Hier zum nachlesen http://de2.php.net/manual/de/function.ini-set.php)
                Code:
                ini_set("session.use_cookies", "0");
                damit sollte es gehen!

                wilko

                Kommentar


                • #9
                  Zitat von wilko
                  Jo, aber PHP hängt dir die Sessionid auch automatisch dran.
                  ja eben nicht, deshalb wunderts mich ja!?

                  schau mal kurz hier:

                  page6.php
                  Code:
                  <?php
                  session_start();
                  $_SESSION["first_name"] = "bla";
                  ?>
                  View this link on your status bar before clicking it:
                  page7.php
                  page7.php
                  Code:
                  <?php
                  session_start();
                  print "Your firstname is: ".$_SESSION["first_name"];
                  ?>
                  was sollte dann normal passieren:
                  wenn ich mit dem curser über den link gehe, sollte die sid in der statusbar zu sehen sein, bei mir ist jedoch only das ? zu sehen, nix sid!

                  genauso sollte dann auf page7.php in der adressleiste anstatt der sid (die ja zuvor schon nicht angezeigt wurde) es so aussehen: page7.php?bla! tut es aber nicht?

                  kanns jemand erklären?



                  Zitat von wilko
                  Das mit iniset nochma genauer:

                  (Hier zum nachlesen http://de2.php.net/manual/de/function.ini-set.php)
                  Code:
                  ini_set("session.use_cookies", "0");
                  damit sollte es gehen!

                  wilko
                  vielen dank dafür wilko!! ....werd ich mir ansehen!!

                  Kommentar


                  • #10
                    Mach den Link so:

                    Code:
                    page7.php
                    wilko

                    Kommentar


                    • #11
                      aha, o.k.

                      und warum hab ich nun ZWEI sids in der adressleiste auf page7.php?

                      Kommentar


                      • #12
                        eventuell, weil PHP jetzt anhängt!

                        Also, meine Ausgabe da gibt nur eine aus.

                        wilko

                        Kommentar


                        • #13
                          also bei mir siehts nun so aus:

                          Code:
                          page7.php?PHPSESSID=ef36207cb46cdfa8ebf7077ba157adeb%20&PHPSESSID=ef36207cb46cdfa8ebf7077ba157adeb
                          das sind doch 2, oder?

                          oder was bedeutet das & ?

                          Kommentar


                          • #14
                            ja, die 1. wird von dir manuell hingeschrieben, die 2. wird von PHP angehängt. Also musst du bei den nächsten Links die Sessionid nicht anhängen!

                            wilko

                            Kommentar


                            • #15
                              sry, was meinst du mit "manuel hingeschrieben"?

                              Kommentar

                              Lädt...
                              X