Wie erstelle ich ein LogIn-Skript?

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

  • Wie erstelle ich ein LogIn-Skript?

    Dieser Beitrag bezieht sich auf das Tutorial Wie erstelle ich ein LogIn-Skript? von Andreas Zimare.

    Ich wollte dem Autor des Tutorials soeben eine E-Mail an die im Profil genannte Adresse zukommen lassen. Leider existiert seine E-Mail Adresse nicht mehr. Deshalb poste ich deren Inhalt nun ins Forum. In der Hoffnung, dass er Notiz davon nimmt oder jemand anderes sich der Sache annimmt.

    Hallo Andy!

    Erstmal vielen Dank für das Tutorial!!! Echt toll, es war genau das was ich gesucht habe! Allerdings bin ich beim durcharbeiten auf folgende Problematiken gestoßen:

    ---------------------
    1. index.php, Zeile 46: Ich musste den Code wie folgt ändern, da die Variable $password sonst keinen Wert enthält und kein erfolgreicher Login zustande kommen kann!
    Der neue Code:
    46 $password = md5($_POST['password']); //vorher: $password = md5($password);

    ---------------------
    2. index.php, Zeile 58: Diese Zeile musste ich wie folgt ändern, da sonst eine Warnmeldung ausgegeben wird (betr. nur PHP 4.3 und höher).
    Der neue Code:
    58 $_SESSION['user'] = $user; //vorher: session_register('user');

    Die Warnmeldung: "Warning: Unknown: Your script possibly relies on a session side-effect which existed until PHP 4.2.3. Please be advised that the session extension does not consider global variables as a source of data, unless register_globals is enabled. You can disable this functionality and this warning by setting session.bug_compat_42 or session.bug_compat_warn to off, respectively. in Unknown on line 0"

    ---------------------
    3. logout.php, Zeile 11: Da nach session_destroy() immer noch alle Werte im Superglobalen Array $_SESSION stehen lösche ich dieses zusätzlich mit $_SESSION = array();
    Der neue Code:
    10 $user = $_SESSION['user'];
    11 $_SESSION=array();
    12 if(session_destroy()) {


    Erläuterungen:

    Zu 1. und 2.: Die Probleme sind aufgetreten da meine php.ini aus Sicherheitsgründen mit 'register_globals = off' läuft. Ohne diese Einstellung sollte wohl alles so laufen wie von dir tadellos beschrieben. Da man (wie ich) nicht immer Zugriff auf die php.ini hat, habe ich es eben so gelöst.

    Zu 2.: Hat man Zugriff auf die php.ini kann man die Warnmeldung natürlich auch wie beschrieben oder mit 'error_reporting(0);' abstellen.

    Zu 3.: Ich bin in einem PHP-Tutorial (vgl. http://www.usegroup.de/software/phpt...s.html#beenden) auf diesen Hinweis gestossen. Auch darauf, dass Sessions mit 'session_unset();' beendet werden sollten. Allerdings liefert mir die Funktion false zurück, selbst wenn ich die Session mit 'session_register('user');' initialisiere. Warum kann ich mir nicht erklären. Vielleicht hast Du ja eine Idee?

    ---------------------

    Ich hoffe, dass Du mit den Infos etwas anfangen kannst und wäre dir im Gegenzug äußerst dankbar, wenn Du meine Änderungen prüfen und mir mitteilen könntest ob das alles seine Richtigkeit hat oder fehlerhaft ist.

    Wenn meine Änderungen ok sind -> Vielleicht weist Du an entsprechenden Stellen im Tutorial noch auf die Besonderheit mit 'register_globals' in der php.ini hin oder überarbeitest die Stellen entsprechend. Dann sind andere Anfänger wie ich davor gefeilt stundenlang nach den Ursachen zu googlen.

    Hoffe sehr, dass Du die Zeit für eine kurze Rückmeldung findest. THX!

    mfg, Stephan alias xdream
    Zuletzt geändert von xdream; 20.06.2006, 23:43.

  • #2
    ---
    Dann sind andere Anfänger wie ich davor gefeilt stundenlang nach den Ursachen zu googlen.
    ---

    Schon passiert...
    Danke für den Beitrag - der hat mich von meiner Sucherei erlöst.
    Allerdings würde mich die Antwort zu deiner Frage auch interessieren !

    Gruß Popeye

    Kommentar


    • #3
      Jo, das Tut ist alt, seeehr alt.

      Andreas hat damals offensichtlich keinen besonderen Wert auf die Einstellung register_globals gelegt. Ich weiß grad nicht von wann der Text ist, daher kann ich auch keine Aussage über die möglichen Gründe treffen.

      Deine Änderungen sehen aber korrekt aus. Ob noch mehr zu ändern ist, kann ich nicht sagen, da ich den Code nicht kenne.

      Ein Login-Skript welches aktueller ist, ist das von Happy: Suche nach Usermanagement.

      Kommentar


      • #4
        Welches ist gemeint wenn ich fragen darf?!

        Kommentar


        • #5
          Suchen ist schon schwer...

          Entweder
          Happy: http://www.php-resource.de/forum/sho...usermanagement
          Oder
          Haxe: http://www.php-resource.de/forum/sho...usermanagement

          Kommentar

          Lädt...
          X