Holger: Passwort

Hallo,

wenn ich in einem PHP-Script ein Passwort ganz einfach so habe: if ($passwort == "mein_gewähltes Passwort") { führe Befehle aus... } ($passwort wird über ein input-Feld eingegeben), ist das dann einigermaßen sicher? Den PHP-Code bekommt man ja nicht zu sehen, oder ist das möglich?

Danke, Holegr

  1. Hi!

    wenn ich in einem PHP-Script ein Passwort ganz einfach so habe: if ($passwort == "mein_gewähltes Passwort") { führe Befehle aus... } ($passwort wird über ein input-Feld eingegeben), ist das dann einigermaßen sicher? Den PHP-Code bekommt man ja nicht zu sehen, oder ist das möglich?

    Das ist auf jeden Fall sicher! Solange du die Passwörter nicht in einer Text-Datei oder so ablegst, die man mit dem Browser öffnen kann, ist das kein Problem. Die PHP-Datei kann man ja über den Browser nicht öffnen, sie wird ja immer vom PHP-Interpreter abgearbeitet, also kann man das Passwort nicht sehen.

    MfG,
     Mirko Hansen

    1. Hallo,

      im Prinzip relativ sicher und für einfache Anwendungen möglicherweise ausreichend, aber ...

      ... die auszuführenden Befehle bestehen doch meistens darin, auf bestimmte Seiten zu wechseln - und die sind dann ungeschützt. Um das zu verhindern müßtest Du z.B. mit Sessions arbeiten.

      Außerdem gibt es ja nur ein einziges Paßwort, das zudem ungeschützt zum Server übertragen wird. Bei einem eventuellen Ausfall der PHP-Engine könnte der Quellcode mit Paßwort offenliegen.

      Grüße,

      Sebastian

      1. Hi Sebastian,

        Bei einem eventuellen Ausfall der PHP-Engine könnte
        der Quellcode mit Paßwort offenliegen.

        falls Du mit "Ausfall" einen Fehler meinst (also z. B. eine Beschädigung der Dateien des PHP-Interpreters), dann gilt das wohl nicht (das gäbe eher einen internal server error).

        Aber wenn jemand in der Webserver-Konfiguration die Verbindung zwischen dieser Endung und dem PHP-Interpreter trennt (also PHP quasi "deinstalliert"), dann fällt das Kind in den Brunnen, weil das Default-Verhalten des Webservers sicherlich darin bestehen wird, den Inhalt unspezifizierter Dokumente auszuliefern - samt Passwort drin.

        Besser wäre es, das Passwort in einer separaten Datei (oder gar Datenbank) außerhalb des URL-Space zu speichern. (Obwohl es andererseits auch wiederum keinen Ort gibt, der bei hinreichend fehlerhafter Konfiguration wirklich zuverlässig "außerhalb des URL-Space" liegen kann ...)

        Viele Grüße
              Michael

        1. Moin,

          Besser wäre es, das Passwort in einer separaten Datei (oder gar Datenbank) außerhalb des URL-Space zu speichern. (Obwohl es andererseits auch wiederum keinen Ort gibt, der bei hinreichend fehlerhafter Konfiguration wirklich zuverlässig "außerhalb des URL-Space" liegen kann ...)

          Dagegen hilft es das Passwort nur als MD5-Hash im Skript zu speichern. (Noch besser das Ergebnis von MD5("deinpasswort"."eingeheimerfesterstring"), um Wörterbuchattacken mit fertigen MD5-Strings zu häufigen Passwörtern abzuwehren). Mit dem Hash kann der Angreifer dann nicht besonders viel anfangen, ausser ein paar Computer irgendwohin zu setzen und sie - potentiell ziemlich lange, wenn das Passwort gut ist - rechnen zu lassen. Mit "gutes Passwort" sind dann mehr als 8 Zeichen, kein Wort irgendeiner Sprache, Klein- und Großbuchstaben, Zahlen, Sonderzeichen gemischt, gemeint.  Mehr dazu steht sicherlich im Forumsarchiv.

          --
          Henryk Plötz
          Grüße von der Ostsee

          1. Mit "gutes Passwort" sind dann mehr als 8 Zeichen,
            kein Wort irgendeiner Sprache, Klein- und
            Großbuchstaben, Zahlen, Sonderzeichen gemischt,
            gemeint. Mehr dazu steht sicherlich im Forumsarchiv.

            http://aktuell.de.selfhtml.org/artikel/gedanken/passwort/