Login mit Hilfe von PHP und mySQL - Auto-Login?

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

  • Login mit Hilfe von PHP und mySQL - Auto-Login?

    Das Tutorial "Login mit Hilfe von PHP und mySQL" ist ja ganz nett, aber ich hab da eine Frage:

    Habt ihr eine Idee, wie ich das ganze Ding mit einer Auto-Login-Funktion verbinde? Also dass man beim Einloggen eine Checkbox "Auto-Login" hat, mit der man auf diesem Computer auch noch eingeloggt ist, wenn man das Browserfenster schließt und die Seite anschließend in einem anderen Fenster wieder öffnet.

    Ich habe auf meinen Seiten zwar schon Communities und somit Login-Funktionen, diese basieren aber nur darauf, dass ein Cookie mit der Benutzer-ID gespeichert wird und dieses je nach ein- oder ausgeschalteter Auto-Login-Funktion einen expires-Wert von NULL oder
    PHP-Code:
    time()+(60*60*24*1000
    hat. Die bin ich eingeloggt?-Abfrage ist dem entsprechend nur ein existiert dieses Cookie?. Existiert es, ist man mit der Benutzer-ID des Cookie-Werts eingeloggt.
    Absolut unsicher natürlich, da man das Cookie nur auf die ID eines anderen Benutzers setzen muss, um unter dessen Namen eingeloggt zu sein.

    Meine Idee war da: einfach eine zufällige Zahl generieren (oder die Session-ID des Einlogg-Zeitpunktes nehmen), diese beim Client als Cookie und in der Datenbank zu speichern und dann auf Gleichheit der User-ID und der Zufallszahl prüfen.
    Mit dieser Methode bin ich aber auch noch nicht ganz zufrieden, da man dann sich ja auch einfach die Cookie-Werte kopieren kann...

    Any suggestions?

  • #2
    Re: Login mit Hilfe von PHP und mySQL - Auto-Login?

    Original geschrieben von Nudi
    Absolut unsicher natürlich, da man das Cookie nur auf die ID eines anderen Benutzers setzen muss, um unter dessen Namen eingeloggt zu sein.

    Meine Idee war da: einfach eine zufällige Zahl generieren (oder die Session-ID des Einlogg-Zeitpunktes nehmen), diese beim Client als Cookie und in der Datenbank zu speichern und dann auf Gleichheit der User-ID und der Zufallszahl prüfen.
    Oder beispielsweise auch Username plus Passwort plus Zeichenkette deiner Wahl durch MD5 jagen - kann auch keiner rekonstruieren.
    Mit dieser Methode bin ich aber auch noch nicht ganz zufrieden, da man dann sich ja auch einfach die Cookie-Werte kopieren kann...
    Dass der Inhalt eines Cookie auf einen anderen Rechner übertragen werden könnte, kannst du natürlich nicht wirklich verhindern.

    Du könntest dir also höchstens überlegen, ob du auch noch bestimmte Client-spezifische Daten wie beispielsweise den User-Agent-String des Browsers etc. mit in deinen Erkennungsschlüssel einbaust.
    I don't believe in rebirth. Actually, I never did in my whole lives.

    Kommentar


    • #3
      Re: Re: Login mit Hilfe von PHP und mySQL - Auto-Login?

      Original geschrieben von wahsaga
      Du könntest dir also höchstens überlegen, ob du auch noch bestimmte Client-spezifische Daten wie beispielsweise den User-Agent-String des Browsers etc. mit in deinen Erkennungsschlüssel einbaust. [/B]
      ...das ist schon mal eine sehr gute Idee. Aber das kann's ja auch nicht ganz sein, denke ich. Es muss da doch einen sichereren Weg geben...
      Bei den "großen" Seiten funktioniert's ja auch irgendwie. Die einzige sichere und vernünftige Möglichkeit, die mir dazu einfällt, ist die IP des Clients auch noch in die DB zu werfen.
      Da bleibt halt nur noch das Problem der dynamischen IPs... Wisst ihr, wie viele Provider heute dynamische IPs vergeben? Ich habe eine fixe...

      Kommentar


      • #4
        Re: Re: Re: Login mit Hilfe von PHP und mySQL - Auto-Login?

        Original geschrieben von Nudi
        Wisst ihr, wie viele Provider heute dynamische IPs vergeben? Ich habe eine fixe...
        Betrachte dich als Ausnahme. Werden zwar mehr, aber der absolut überwiegende Teil deutscher Surfer kommt mit dynamischer IP daher.

        Übrigens gibt es auch schon Kunden mit drei oder mehr statischen IPs - in Zukunft wirds noch mehr werden, denn IPv6-Adressen gibts genug.
        Die könnten (warum auch immer) plötzlich die IP wechseln ... will sagen, selbst wenn alle Welt statische IPs hätte, ist die IP für Login-Geschichten ungeeignet und wird es immer bleiben.

        Die "großen Seiten" platzieren sicherlich nur einen "Dauerkeks". Ich finde bei mir zum Beispiel ein Cookie von ebay, dass mein Browser erst 2011 löschen wird.
        Wenn ich den vorher lösche, muß ich mich bei ebay bestimmt neu einloggen. Probier ich jetzt aber nicht aus (weiß mein PW nich auswendig), kannst du selbst machen.
        Längere Cookiezeiten sind technisch auch möglich, nur steht bei ebay wahrscheinlich in den AGBs, dass sie Accounts löschen, die 5 Jahre nicht mehr benutzt wurden.

        So, nun kann mir zwar jemand den Cookie klauen und ist dann in meinem Account, aber gelegentlich fragt ebay ja nach dem Passwort (obwohl man schon eingeloggt ist) und zum Ändern des PW muß man das alte sicher auch angeben. Also kann man nur relativ wenig mit geklauten Cookies anfangen. Ganz abgesehen davon kannst du für deine Cookies auch Vorkehrungen treffen, dass man sie auf anderen als der Originalmaschine nicht nutzen kann. Wie oben schon erwähnt, Browserkennung, vllt. noch OS oder abgefahrene, nur mit Javascript ermittelbare Details verklausuliert als Cookiewert und schon ist die Sache so sicher (bei gleichzeitiger IP-Unabhängigkeit) wie nur möglich. Mehr Sicherheit braucht eine Webseite imho nicht bzw. muß sich dann auf PIN/TAN per Post oder ähnliches verlassen.
        Zuletzt geändert von onemorenerd; 19.01.2006, 09:15.

        Kommentar


        • #5
          Re: Login mit Hilfe von PHP und mySQL - Auto-Login?

          Original geschrieben von Nudi
          Meine Idee war da: einfach eine zufällige Zahl generieren (oder die Session-ID des Einlogg-Zeitpunktes nehmen), diese beim Client als Cookie und in der Datenbank zu speichern und dann auf Gleichheit der User-ID und der Zufallszahl prüfen.
          Wenn ich mich im Büro anmelde, ist die Zufallszahl bspw. 17.

          Zuhause habe ich mich noch nicht angemeldet, nach meinem Login generierst du die Zufallszahl 25.

          Am nächsten Tag muss ich mich im Büro neu anmelden?

          Oder willst du die Zufallszahl einmal beim Registrieren des Benutzers generieren?


          Ich schlage dir auch wahsagas Variante vor.
          Ich denke, also bin ich. - Einige sind trotzdem...

          Kommentar

          Lädt...
          X