Ankündigung

Einklappen
Keine Ankündigung bisher.

Wie funktioniert ein Login?

Einklappen

Neue Werbung 2019

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

  • Wie funktioniert ein Login?

    Hallo liebes PHP.de Forum.

    Ich hoffe dass ihr mich hier aufklären könnt
    Die Frage steht schon im Titel. Wie funktioniert eigentlich ein Login? Warum werde ich bei manchen Websites bei denen ich eingeloggt bin raus geworfen wenn ich meinen Browserverlauf lehre, bei anderen aber nicht? Welche verschiedenen Arten von Logins gibt es, wie funktionieren sie und wie sicher sind sie?
    Nur um Missverständnissen vorzubeugen, ich möchte nicht wirklich wissen wie man einen Programmiert. Ich bin nicht zum Programmieren gemacht, das würde schief gehen. Aber ich würde gern verstehen was dahintersteckt.

    MfG Kira


  • #2
    Hallo,

    das ist ganz untterschiedlich wie LogIns aufgebaut sind.
    Die meisten werden mit Sessions gebaut.
    Was ist eine Session?

    Dann gibt es auch noch LogIns welche auf Cookies basieren. Cookies werden beim Clienten gespeichert und können somit von diesem gelöscht werden (im Normalfall fragt dich der Browser auch ob du diese löschen möchtest).
    Was sind Cookies?

    Über dieses Thema kann man jetzt aber so viel schreiben, das ich morgen noch hier sitze. Am einfachsten ist wenn du dir das selbst mal ergoogelst. Da steht allerhand zum Thema LogIn Systeme drinne.

    Kommentar


    • #3
      Warum werde ich bei manchen Websites bei denen ich eingeloggt bin raus geworfen wenn ich meinen Browserverlauf lehre, bei anderen aber nicht?
      Solange Du nur den Verlauf löschst, nicht aber die Cookies, wirst Du bei denen, die Cookies verwenden nicht ausgeloggt.

      Welche verschiedenen Arten von Logins gibt es, wie funktionieren sie und wie sicher sind sie?
      Jeder Login ist so sicher, wie er programmiert wurde. Das kann man pauschal nicht beantworten, ohne einen Login und seine Programmierung explizit zu betrachten.
      Competence-Center -> Enjoy the Informatrix
      PHProcks!Einsteiger freundliche TutorialsPreComposed Packages

      Kommentar


      • #4
        Hallo,

        nun ein Login (Autentifizierung) ist notwendig, wenn Teile einer Anwendung nur für bestimmte Personen zur Verfügung stehen sollen. Dazu wird meist ein Benutzername, ein Passwort abgefragt. Ist beides ok, ist der Benutzer autentifiziert.

        Danach kommen dann noch Rollen, Rechte etc. für diesen, diese steuern dann was er darf und was nicht. Heißt er kann die Rolle MOD_GUESTBOOK haben, er darf aber nur lesen, editieren, temporär löschen oder neu verfassen, aber jedoch nicht unwiderruflich löschen, dies darf wieder nur ein ADMIN_MASTER oder eine ADMIN_GUESTBOOK.

        Die Sicherheit eines Logins liegt im Ermessen des Kunden und des Entwicklers. Da gibt es keine Pauschalaussagen.
        Aus dem Dynamo Lande kommen wir. Trinken immer reichlich kühles Bier. Und dann sind wir alle voll, die Stimmung ist so toll. Aus dem Dynamo Lande kommen wir.
        http://www.lit-web.de

        Kommentar


        • #5
          Moin, da es sich nicht um eine konkrete Programmierfrage handelt, wärst der Thread im Off-Topic richtig platziert.

          Wie funktioniert eigentlich ein Login?
          Erfolgreiche Authentifizierung über festgelegte Parameter loggt den User / Client ein.

          Warum werde ich bei manchen Websites bei denen ich eingeloggt bin raus geworfen wenn ich meinen Browserverlauf lehre, bei anderen aber nicht?
          Sessions, Cookies und so. http://www.php-kurs.info/tutorial-sessions_cookies.html

          Welche verschiedenen Arten von Logins gibt es, wie funktionieren sie
          Logins funktioneren immer über irgendeine Art Authentifizierung, es kann sein, dass schon ein einfacher Buttonklick reicht, aber das wurde dann eben von irgendjemandem so festgelegt. Es könnten sich die Arten der Datenübertragung ändern.
          wie sicher sind sie
          Da musst du dir die einzelnen Protokolle ansehen, wenn es um die Abhör- Manipulationssicherheit der Daten gehen soll. Innerhalb der Applikation hängt es dann von der Programmierung selbst ab, da gibt es z.B. die Gefahr der SQL-Injection, wenn denn mit einer SQL-Datenbank gearbeitet wird.



          edit: damn, viel zu langsam
          Relax, you're doing fine.
          RTFM | php.de Wissenssammlung | Datenbankindizes | Dateien in der DB?

          Kommentar


          • #6
            Naja, du loggst dich ein, in dem du einen Benutzernamen und ein Passwort (idR via Form-POST) an einen Server schickst. Der Server validiert die Login-Daten und ordnet diese einer nicht-erratbaren Session-ID zu. Das kannst du als art Ticket verstehen. Dieses Ticket bekommt dein Browser dann als Antwort und legt sie in einem Cookie ab. Bei jedem weiteren Aufruf dieser Webseite wird dieses Ticket durch das Cookie immer wieder automatisch von deinem Browser an den Server geschickt. Der Server weiss dann durch dieses Ticket, dass du der User bist, der sich anfangs mit Benutzername X und Passwort Y angemeldet hat. Diese Zuordnung erfolgt auf der Serverseite - ein normaler User kann nicht sehen, welcher User hinter einem Ticket steht.

            Wenn du jetzt den Browser-Verlauf leerst, löschst du wahrscheinlich auch deine Cookies. Damit verlierst du deine Tickets und musst dich neu anmelden.
            Standards - Best Practices - AwesomePHP - Guideline für WebApps

            Kommentar


            • #7
              Zitat von KSBB Beitrag anzeigen
              Nur um Missverständnissen vorzubeugen, ich möchte nicht wirklich wissen wie man einen Programmiert. Ich bin nicht zum Programmieren gemacht,
              Da fürchte ich bist du hier in einem Programmierforum falsch und die bisherigen Antworten gehen wohl zum Teil über das Ziel hinaus.
              Login (Informationstechnik)
              PHP-Klassen auf github

              Kommentar


              • #8
                Zitat von rkr Beitrag anzeigen
                Naja, du loggst dich ein, in dem du einen Benutzernamen und ein Passwort (idR via Form-POST) an einen Server schickst. Der Server validiert die Login-Daten und ordnet diese einer nicht-erratbaren Session-ID zu. Das kannst du als art Ticket verstehen. Dieses Ticket bekommt dein Browser dann als Antwort und legt sie in einem Cookie ab. Bei jedem weiteren Aufruf dieser Webseite wird dieses Ticket durch das Cookie immer wieder automatisch von deinem Browser an den Server geschickt. Der Server weiss dann durch dieses Ticket, dass du der User bist, der sich anfangs mit Benutzername X und Passwort Y angemeldet hat. Diese Zuordnung erfolgt auf der Serverseite - ein normaler User kann nicht sehen, welcher User hinter einem Ticket steht.

                Wenn du jetzt den Browser-Verlauf leerst, löschst du wahrscheinlich auch deine Cookies. Damit verlierst du deine Tickets und musst dich neu anmelden.
                Interessant!

                das mit den Tickets wusste ich nicht so genau

                gibt es auch cookies mit einem zeitstempel? bzw. das man bestimmte, dass es nach einer bestimmten zeit ungültig ist?

                ich denk bei einem auto logoff werden nur die sessions benutzt..

                Kommentar


                • #9
                  gibt es auch cookies mit einem zeitstempel? bzw. das man bestimmte, dass es nach einer bestimmten zeit ungültig ist?
                  Ja.

                  http://php.net/manual/de/features.cookies.php
                  http://php.net/manual/de/function.setcookie.php -> "expire"

                  LG
                  Debugging: Finde DEINE Fehler selbst! | Gegen Probleme beim E-Mail-Versand | Sicheres Passwort-Hashing | Includes niemals ohne __DIR__
                  PHP.de Wissenssammlung | Kein Support per PN

                  Kommentar

                  Lädt...
                  X