Sichere Loginmethode

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

  • Sichere Loginmethode

    Kann man die Authentifizierung über HTTP auch über eine Formular erreichen, d.h. dass Benutzer und Passwort irgendwie schon in die Abfrage eingebaut werden und dann nicht über das Browserfenster eingegeben werden müssen?

    Habe jetzt gerade mal gecodet:
    PHP-Code:
    <?php
    $PHP_AUTH_USER 
    $_POST['username'];
    $PHP_AUTH_PW $_POST['password'];
    if(
    $PHP_AUTH_USER != "User" OR $PHP_AUTH_PW != "12345")
        {
            
    header("HTTP/1.1 401 Unauthorized");
            
    header("WWW-AUTHENTICATE: Basic realm='Testzone'");
            echo 
    "gescheitert";
            exit;
        }
    ?>
    Hallo
    Aber das Passwort wird doch nicht im Browser gespeichert, wie kann ich das einleiten, d.h. wenn Eingabe über das Browserfenster merkt dieser sich ja die Daten und der User muss sie nicht immer wieder eingeben, aber wenn ich es so mache nicht.
    Zuletzt geändert von ; 23.08.2005, 20:02.

  • #2
    Nein das geht nicht. Als einziges kannst du den Benutzer und das PW als $_GET-Var übergeben.

    Gruss

    tobi
    Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

    [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
    Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

    Kommentar


    • #3
      Na dann bräuchte ich den Zirkus ja nicht machen, sondern gleich in der DB vergleichen.
      Andere Möglichkeit besteht nicht?

      Kommentar


      • #4
        Na dann bräuchte ich den Zirkus ja nicht machen, sondern gleich in der DB vergleichen.
        Genau so würde ich es machen, wenn du es via Form und nicht via eingebauter Auth machen willst.

        Gruss

        tobi
        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

        Kommentar


        • #5
          Dann gibt es aber das Problem der Sicherheit beim Client, weil wenn jemand bsw. den $_GET Code kopiert, kann er ebenso eingeloggt sein. Via IP ist schlecht, da AOL bsw. immer IP wechseln, Sessions sind nicht dolle sicher, Cookies nicht von jedem akzeptiert.
          Von daher habe ich mich nach einer neuen Methode umgeschaut.

          Kommentar


          • #6
            Also ich würde das so machen:
            1. Form erstellen
            2. An sich selbst senden
            3. Userdaten prüfen ($_POST)
            4. Wenn ok dann Session starten

            Auf jeder zu schützenden Seite prüfst du ob die Session korrekt ist, die da via URL reinkommt.

            Gruss

            tobi

            p.s. Sessions imho so ziemlich der sicherste Weg so etwas zu machen. Alternativ kannst du es auch so machen, dass jeder User der sich einloggen will bei Dir persönlich vorbei kommt und seine ID-Karte zeigt. Wenn die Daten ok sind, dann darf er auf deinem Bildschirm die Seite betrachten
            Spass beiseite: Absolute Sicherheit gibt es ned. Sonst wären viele IT-Fritzen arbeitslos...
            Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

            [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
            Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

            Kommentar


            • #7
              Mal eine Frage nebenbei Sessions sind doch auch auf IP Basis oder ned? Wieso haben AOL User damit keine Probs?

              EDIT: P.s. Ich habe schon einmal ein Loginsystem gecodet und auch im Einsatz gehabt, aber brauche mom. ein besonders sicheres
              Zuletzt geändert von ; 23.08.2005, 20:22.

              Kommentar


              • #8
                IMHO wird doch die Session einmal erstellt, und die Zuordnung erfolgt dann immer anhand der übegebenen Session-ID. Es wird also nicht jedes Mal die Browser-Identifikation (also der Kram, der für die Bildung der SID erforderlich ist) usw. neu überprüft. Daher ist auch die IP nicht mehr relevant (denke ich zumindest).

                Kommentar


                • #9
                  Wenn die Session abgefangen wird, dann würde die Seite offen wie ein Scheunentor sein. Aus diesem Grund wird auch empfohlen nach Möglichkeit für die Session Cookies zu verwenden.
                  Wenn das aber nicht geht, dann ist das sicherste eine SSL Verbindung zu machen, so kann niemand (zumindest nicht ohne grösseren Aufwand) die übertragene Session lesen.

                  Gruss

                  tobi
                  Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                  [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                  Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                  Kommentar


                  • #10
                    Original geschrieben von jahlives
                    Wenn das aber nicht geht, dann ist das sicherste eine SSL Verbindung zu machen, so kann niemand (zumindest nicht ohne grösseren Aufwand) die übertragene Session lesen.
                    die session wird nicht übertragen *hust*, höchstens die SessionId

                    URL-Dings ausschalten und den Usern die Cookies deaktiviert haben, klar machen dass das nix schlimmes ist und das sie die aktivieren müssen um auf deine Seite zu kommen. Genauso wie es der Großteil der I-Net-Gemeinde auch macht....Cookies deaktivieren ist genauso sinnvoll wie nur mit Handschuhen die Tastatur benutzen um sich keinen Virus einzufangen

                    Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                    bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                    Wie man Fragen richtig stellt

                    Kommentar


                    • #11
                      Original geschrieben von Heini81
                      IMHO wird doch die Session einmal erstellt, und die Zuordnung erfolgt dann immer anhand der übegebenen Session-ID. Es wird also nicht jedes Mal die Browser-Identifikation (also der Kram, der für die Bildung der SID erforderlich ist) usw. neu überprüft. Daher ist auch die IP nicht mehr relevant (denke ich zumindest).
                      man kann es aber machen...nur ist das recht kompliziert, eben wegen den Providern, wo man keine feste IP-Adresse hat (nichtmal während einer Sitzung)...wär ja für die Webprogrammierer zu einfach

                      Cookies sind die einzig wahre Möglichkeit (sie ist aber auch nicht perfekt...)

                      Ein netter Guide zum übersichtlichen Schreiben von PHP/MySQL-Code!

                      bei Klammersetzung bevorzuge ich jedoch die JavaCoding-Standards
                      Wie man Fragen richtig stellt

                      Kommentar


                      • #12
                        @ghostgambler
                        Ich habe natürlich die SessionID gemeint

                        Gruss

                        tobi
                        Gutes Tutorial | PHP Manual | MySql Manual | PHP FAQ | Apache | Suchfunktion für eigene Seiten

                        [color=red]"An error does not become truth by reason of multiplied propagation, nor does truth become error because nobody sees it."[/color]
                        Mohandas Karamchand Gandhi (Mahatma Gandhi) (Source)

                        Kommentar


                        • #13
                          OK, naja habe das ganze jetzt einfach so gelöst, wer AOL User etc. ist, der muss einfach per Cookie einloggen, ansonsten wird per IP und Username wird einfach als url.de/index-username.html angezeigt und kontrolliert.

                          Kommentar


                          • #14
                            man, red doch nicht so einen blödsinn von wegen sessions sind wenig sicher - wenn du nicht mal einen hauch einer ahnung davon hast.
                            I don't believe in rebirth. Actually, I never did in my whole lives.

                            Kommentar

                            Lädt...
                            X