Login-Script von mrhappiness 2

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

  • Login-Script von mrhappiness 2

    hi!

    beziehe mich auf das skript hier http://www.php-resource.de/tutorials/read/38/6/, das ich für meine seite verwende. besten dank mal soweit!

    wo ich noch nicht ganz durchblick ist der umgang mit sessions. die session wird auf jeder seite entweder gestartet, oder weiterverwendet, sollte sie existieren. die session id wird beim login in der datenbank unter dem entsprechendem user abgelegt. um zu überprüfen, ob der user eingeloggt ist, oder nicht, wird die aktuelle session id in der datenbank gesucht und falls sie gefunden wird, wird das als anhaltspunkt genommen, ob irgendjemand eingeloggt ist, oder nicht.

    lässt sich das noch weiter verfeinern bzw. vereinfachen? überlegt hätt ich mir folgenden ansatz: ich prüfe ob ein nick in der session registriert ist und falls ja, ist man eingeloggt. die relevanten daten, wie email adresse, anschrift, etc. sind ebenfalls in der session gespeichert, um bei jedem seitenaufruf sofort zu verfügung zu stehen. ist das als bedenklich einzustufen? sollte man lieber die datenbank abfragen und die daten bei jedem seitenaufruf erneut von dort einlesen?

    wird wird sowas üblicherweise gemacht? lassen sich sessions von außen irgendwie manipulieren? ist es möglich von außen an die session id zu kommen und daten in der session zu verändern?

  • #2
    an die session-id kommst du nur, wenn ich dir nen link schicke in dem die session-id enthalten ist, ich also cookies nicht akzeptiert habe
    da kann man aber nix dran machen

    und natürlich kannst du in der session werte speichern und als kriterium zum prüfen das status verwenden.
    die datenbankvariante hat den vorteil, dass eventuelle änderungen von rechten sofort greifen, genauso ist es so möglich einen user rauszuschmeißen, da du seine session nicht direkt zerstören kannst.
    der nachteilist natürlich das wiederholte abfragen der datenbank

    kannst dir überlegen was dir besser gefällt, musst bei meinem tutorial ja nur die funktionen login und logged_in anpassen

    denkbar wäre auch ein kompromiss, wie z.b. den wert in der session prüfen und alle halbe stunde zusätzlich die werte mit denen aus der datenbank abgleichen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      Überprüfe bei der Prüfung der SessionID auch die IP, die sich innerhalb einer Session ja nicht ändert.


      An mich bitte keine unaufgeforderten E-Mails senden (ausser ihr seid bereit geld zu zahlen, dann gerne )

      Kommentar


      • #4
        danke an euch beide für die antworten! den ip-check werd ich noch einbauen.

        noch eine frage: die session wird erst dann zerstört, wenn man das browser-fenster schließt, richtig? oder bleibt das file am browser gespeichert und die id kann von jedem genutzt werden, der an die id kommt?

        ich hab keinen einfluss auf die php.ini, da ich mein projekt hosten lasse. falls mir mein provider das registrieren von cookies zum speichern der id verweigert, wird die id dann automatisch an den url angehängt? lässt sich das irgendwie verhindern? ich möchte, dass der login nur dann funktioniert, wenn cookies gesetzt werden dürfen, die id soll also nicht im url aufscheinen.

        Kommentar


        • #5
          Original geschrieben von MaxP0W3R
          Überprüfe bei der Prüfung der SessionID auch die IP, die sich innerhalb einer Session ja nicht ändert.
          erzähl das mal AOL-Nutzern...

          oder mir, wenn meine schicke dsl-bedingte Zwangstrennung erfolgt ist...


          @php_rookie
          http://de.php.net/manual/de/ref.session.php und nach use_only_cookies suchen, ändern kannst du die einstellung mit ini_set

          und prüfen kannst du über die konstante SID, steht im ersten link drin

          die session wird dann zerstört, wenn der benutzer sich explizit abmeldet, tut er das niucht, wird sie nach einer festgelegten zeit zerstört (1. link)
          innerhalb dieser zeit ist der zugriff auf die session möglich, wenn jemand die session-id hat (z. b. aus dem browsercache)

          hth
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar


          • #6
            nochmals danke!

            also sollte der login mit ip-check und mit ini_set auf 1 gesetzter session.use_only_cookies wert jetzt einigermaßen sicher sein, außer jemand snifft sich die session_id. wobei die cookies ja zerstört werden, wenn ich das browserfenster schließe, oder?

            Kommentar


            • #7
              ja, aber lass den ip-check, du machst dir da keine freunde mit
              Ich denke, also bin ich. - Einige sind trotzdem...

              Kommentar

              Lädt...
              X