Mike: Login erstellen

Hi,

wie kann man denn mit PHP/HTML ein Login auf einer Seite erstellen. Ich meine es ist kein Problem einen Verzeichnisschutz anzulegen, aber wenn der User dann auf einen Link klickt und der Browser fordert ihn auf sich einzuloggen ist das nicht so ädaquat und optisch schön. Schön wäre es wenn auf einer Seite einfach zwei Felder stehen Benutzername und Kennwort, und mit dieser wählt er sich dann ein, und bekommt ggf. dann eine Fehlermeldung direkt vom PHP Script, sprich auf der Seite und nicht durch ein neuen Fenster vom Browser was einen dann ja nach Browser auf eine Unautorized Site linkt.

Ist sowas möglich ?

THX Mike

  1. hi,

    geh mal tutorials.de

    cu

  2. Γειά σου, Mike!

    wie kann man denn mit PHP/HTML ein Login auf einer Seite erstellen.

    Wie das geht, beschreibt Benjamin in seinem Artikel PHP: Sessionbasiertes Loginsystem.

    Ich meine es ist kein Problem einen Verzeichnisschutz anzulegen, aber wenn der User dann auf einen Link klickt und der Browser fordert ihn auf sich einzuloggen ist das nicht so ädaquat und optisch schön. Schön wäre es wenn auf einer Seite einfach zwei Felder stehen Benutzername und Kennwort, und mit dieser wählt er sich dann ein, und bekommt ggf. dann eine Fehlermeldung direkt vom PHP Script, sprich auf der Seite und nicht durch ein neuen Fenster vom Browser was einen dann ja nach Browser auf eine Unautorized Site linkt.

    Allerdings solltest du dir darüber im klaren sein, dass du mit der PHP-Methode ausschließlich die Inhalte schützt, die durch das PHP-Script ausgegeben werden, während ein servergesteuerter Verzeichnisschutz alle Dateien in dem Verzeichnis vor Zugriff durch unautorisierte Besucher schützt.

    Αντίο!
    Sven aus Bonn

    --
    Ἀεὶ πάντα ῥεῖ.
    Selfcode: ie:% fl:( br:> va:} ls:[ fo:) rl:( n4:{ ss:| de:> js:| ch:) mo:} zu:) - Selfcode dekodieren - Selfcode-Info
  3. Hi Mike,

    wie kann man denn mit PHP/HTML ein Login auf einer Seite erstellen. [...]Schön wäre es wenn auf einer Seite einfach zwei Felder stehen Benutzername und Kennwort, und mit dieser wählt er sich dann ein, und bekommt ggf. dann eine Fehlermeldung direkt vom PHP Script, sprich auf der Seite und nicht durch ein neuen Fenster vom Browser was einen dann ja nach Browser auf eine Unauthorized Site linkt.

    Ist sowas möglich ?

    Ja. Und auch nicht sehr schwer zu programmieren (Hab ich auch mal gemacht):
    1. Du überprüfst, ob Login-Daten (Name und Passwort) eingegeben wurden -> wenn nicht, Anmeldeformular und exit;
    2. Du überprüfst, ob die Daten stimmen (d.h. ob es den User gibt und ob das Passwort stimmt) -> wenn nicht, Fehlermeldung, (ggf. nochmal Anmeldeformular) und exit;
    3. Du speicherst die Daten (per Cookie, Session oder was weiß ich).

    Das alles schreibst du in eine Extra-Datei, die auf jeder Seite, die geschützt sein soll, includest. Wenn die Login-Daten stimmen, wird der Inhalt der Seite ausgegeben, ansonsten exit;, dann wird der Inhalt der Seite nicht ausgegeben.

    Vielleicht hilft dir auch dieser Tipps&Tricks-Artikel.

    Viele Grüße aus Freiburg,
    Marian

  4. Hallo,

    aber wenn der User dann auf einen Link klickt und der Browser fordert ihn auf sich einzuloggen ist das nicht so ädaquat und optisch schön.

    also vom Design-Standpunkt aus: schön ist vielleicht was anderes, aber das Brausereigene Fenster steht für Sicherheit. Das wird deutlich vermittelt. Das kommt also beim Besucher an. Zweitens mußt Du bei einer eigenen Seite immer eine Session mitschleppen = äußerst häßlich.

    Gruß, Andreas

    --
    SELFFORUM - hier werden Sie geholfen,
    auch in Fragen zu richtiges Deutsch
    1. Hallo Andreas,

      Zweitens mußt Du bei einer eigenen Seite immer eine Session mitschleppen = äußerst häßlich.

      Du bringst da was durcheinander.

      Eine Session ist gekennzeichnet durch die Wiedererkennbarkeit des Benuzters zwischen den unabhängigen Requests. Ob man das mit HTTP-Auth realisiert, oder aber mittels Cookie oder sonstiger übertragener Schlüssel, ist unerheblich.

      Außerdem sorgt PHP schon höchstautomatisch für die erforderlichen Maßnahmen auf Cookie- und "PseudoCookie"-Basis (SID in der URL und den Forms).

      Es wurde hier neulich erst ausführlich und mMn auch leicht verständlich erklärt, wie man ein solches System unter Verwendung von "Session-Cookies" (solche, die nicht auf der Platte des Client gespeichert werden) und Umleitungen durch die header()-Funktion aufbauen kann. Das sollte man wiederfinden können.

      LG
      Chris

      1. Hallo,

        ich kann Dir nicht folgen. Für ein Login über eine eigene Seite brauchst du eine Session. Und da du dich auf cookies nicht verlassen kannst, mußt du mit der Möglichkeit einer häßlichen URL rechnen. Sehe ich das falsch?

        für http-Auth hast du diese URL nicht, weil die "session" im Brauser gespeichert wird.

        Gruß, Andreas

        --
        SELFFORUM - hier werden Sie geholfen,
        auch in Fragen zu richtiges Deutsch
        1. Hallo,

          für http-Auth hast du diese URL nicht, weil die "session" im Brauser gespeichert wird.

          Du bringst die Begriffe durcheinander und damit auch das Verständnis für die Notwendigkeiten.

          Eine Session bezeichnet die Folge von Vorgängen zwischen Client und Server, die aufgrund von Erkennungsmechanismen für den Client vom Server zwischen den einzelnen Vorgängen harmonisiert werden können. Dem Server ist es aufgrund des Erkennungsmechanismus möglich, für den Client Zwischergebnisse zu speichern und beim nächsten Request wieder zur Verfügung zu stellen /zu haben.

          HTTP-Auth bezeichnet ein Verfahren, dass den Client nötigt, bei jedem Request "Credentials" mitzusenden. Hierbei handelt es sich i.d.R. ummein Schlüsselpaar, bestehend aus Benutzername und Passwort. Aus diesem Schlüsselpaar kann der Server den User identifizieren. Findet bei jedem Request dieselbe Identifikation statt, kann darauf eine Session aufgebaut werden.

          Cookie kennzeichnet i.d.R. einen Singular-Schlüssel, der mittels zeitlicher Gültigkeit auf Authentizität geprüft werden kann. Dieser Schlüssel ermöglicht die Wiedererkennung eines Clients am Server. Darauf kann eine Session aufgebaut werden.

          Wenn es eine andere Möglichkeit gäbe, einen User zu erkennen, könnte man auch darauf eine Session aufbauen. In statischen Netzen wird dafür gerne die IP und ein zusätzlicher in den Paketen befindlicher Schlüssel verwendet. HTTP bietet jedoch diese Paarungsmöglichkeit nicht, da es verbindungslos arbeitet.

          LG
          Chris