Wie erstelle ich ein LogIn-Skript?

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

  • Wie erstelle ich ein LogIn-Skript?

    Immer wieder taucht die Frage auf, wie man wohl am Besten ein LogIn-Skript schreibt, das einigermaßen sicher ist.

    Hier die Antwort:

    http://www.php-resource.de/tutorials/read/33/1/

    php-Entwicklung | ebiz-consult.de
    PHP-Webhosting für PHP Entwickler | ebiz-webhosting.de
    die PHP Marktplatz-Software | ebiz-trader.de

  • #2
    Ja das ist war. Ich persönlich finde dies eigentlich nicht mal so schwer...
    mfg
    Günni


    Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
    Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
    Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
    City-Tiger - Online durch die Straßen tigern...

    Kommentar


    • #3
      jepp. jetzt können wir immer auf das tut verweisen...
      INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


      Kommentar


      • #4
        Lustig wird es erst wenn man eine Benutzerverwaltung dazu haben will, natürlich mit einem RechteSystem.
        mfg
        Günni


        Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
        Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
        Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
        City-Tiger - Online durch die Straßen tigern...

        Kommentar


        • #5
          dann sollte man das selbstständig erweitern. es kann ja nicht sein, dass man alles vorkauen muss....
          INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


          Kommentar


          • #6
            @Abraxax
            Das ist war. Sonst macht das ganze ja überhaupt keinen Spass mehr. Leider werden es immer mehr, die alles gerne vorgekaut bekommen hätten.
            mfg
            Günni


            Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
            Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
            Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
            City-Tiger - Online durch die Straßen tigern...

            Kommentar


            • #7
              :-)

              Ich könnt das Teil zwar noch erweitern, aber wie lang soll so ein Tutorial werden und vor allem wie ausführlich?
              Ein bischen Eigeninitiative sollt schon bleiben *ggg*

              In diesem Sinne
              Mit Bayrischen Gruaß
              Habe die Ehre

              Andy
              Es gibt viel zu tun - packen wirs an!!!

              Kommentar


              • #8
                Re: :-)

                Original geschrieben von Andy_30
                Ein bischen Eigeninitiative sollt schon bleiben *ggg*
                sehr vorbildlich.

                da sollten sich andere user mal ein beispiel nehmen.
                INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                Kommentar


                • #9
                  Kann mich euch nur anschließend. Wenn es jemand erweitern möchte soll er dies tun, aber nicht von anderen erwarten das die alles für einen machen. Wenn´s der jenige halt nicht kann dann soll er es lernen oder bleiben lassen. :P
                  mfg
                  Günni


                  Praxis: Jeder kann´s, aber keiner weiß wie´s geht...
                  Theorie: Jeder weiß wie´s geht, aber keiner kann´s ...
                  Microsoft vereint Praxis und Theorie: Nix geht und keiner weiß warum
                  City-Tiger - Online durch die Straßen tigern...

                  Kommentar


                  • #10
                    Hey Andy,
                    schönes Script, habs gleich mal bei mir getestet und es klappt.
                    Allerdings zeigt mir Dein Script die neu.php an, wenn ich die URL direkt eintippe, obwohl ich nicht angemeldet bin. Ich habe Deine Scripte 1:1 übernommen und teste es gerade auf meinem Webspace. Eigentlich müßte ich dann doch auf die index.php verwiesen werden, wenn ich nicht angemeldet bin?

                    MfG Floh

                    Kommentar


                    • #11
                      Hab den Fehler gefunden:
                      In dem Quellcode, den man zu Deinem Tutorium herunterladen kann fehlt die if-Abfrage, ob man eingeloggt ist und ggf. auf die index.php verwiesen wird, in der Datei neu.php.

                      Kommentar


                      • #12
                        Hi Floh

                        Ein Tausendfaches sorry

                        Die zip-Datei, die hier zum Download bereit liegt, ist noch eine ältere Version

                        Ich hänge diesem Thread die neue Version an.

                        Du brauchst aber auch nur die Abfrage

                        PHP-Code:
                        if(!session_is_registered('user') || $_SESSION['user'] == "") { 
                        header("location:index.php");
                        die;

                        in das Skript einsetzen. Und zwar direkt unter

                        PHP-Code:
                        session_start(); 
                        Nochmals sorry für das kleine Missgeschick


                        Gruß Andy
                        Es gibt viel zu tun - packen wirs an!!!

                        Kommentar


                        • #13
                          Darf wohl noch keine Datei anhängen.
                          Dann eben HIER DER LINK zum Downloaden.

                          Grüßle
                          Es gibt viel zu tun - packen wirs an!!!

                          Kommentar


                          • #14
                            Hi,

                            erstmal vielen Dank für das tolle Tutorial! Echt spitze!

                            Ich habe das Skript für meine Bedürfnisse erweitert und offline hat auch alles einwandfrei funktioniert.

                            Nun habe ich alles auf meinen Webspeicherplatz hochgeladen und es funktioniert nicht mehr. Immer wenn ich mich einloggen will, werde ich nach betätigen des "Anmelden" Buttons auf die gleiche Login Seite weitergeleitet.

                            Ich suche schon die ganze Zeit nach der Ursache, kann sie aber nicht finden.

                            Offline verwende ich PHP Version 4.2.1
                            Online ist PHP Version 4.0.6 installiert

                            Ich denke es liegt an der PHP-Version, aber ich habe auch ein Forum installiert, das arbeitet einwandfrei mit Sessions

                            Hier der Code der Login Seite:

                            -----------------------------------------------------------------------------------------------
                            PHP-Code:
                            <?php
                            session_start
                            ();
                                
                            //Pfad zum Wurzelverzeichnis
                                
                            $rootdir="../../";

                                
                            //Includes einfügen
                                
                            require($rootdir ."skripte/config.inc.php");
                            ?>
                            <html>

                                <head>
                            <title>LogIn zum Adminbereich</title>
                            </head>

                                <body>
                                    <?php if(!isset($_POST['submit'])) { ?>
                                    <div align="center">
                                        <h1>RC Team Bereich</h1>
                                    </div>
                                    <div align="center">
                                        
                            Du kannst Dich nur einloggen wenn Du Mitglied bist.

                                        <form action="<?php $PHP_SELF ?>" method="post">
                                            <table width="400" bgcolor="#000000" border="0" cellpadding="5" cellspacing="1" align="center">
                                                <tr>
                                                    <td bgcolor="#e7e7e7" align="center" colspan="2"><b>Bitte erst anmelden</b></td>
                                                </tr>
                                                <tr>
                                                    <td width="170" bgcolor="#e7e7e7">Benutzername</td>
                                                    <td width="230" bgcolor="#ffffff"><input type="text" name="username" size="20" class="input"></td>
                                                </tr>
                                                <tr>
                                                    <td width="170" bgcolor="#e7e7e7">Passwort</td>
                                                    <td width="230" bgcolor="#ffffff"><input type="password" name="password" size="20" class="input"></td>
                                                </tr>
                                                <tr>
                                                    <td bgcolor="#e7e7e7" align="center" colspan="2"><input type="submit" name="submit" value="Anmelden" class="button"></td>
                                                </tr>
                                            </table>
                                        </form>
                                        <?php
                              
                            }elseif(!$_POST['username'] || $_POST['username'] == "") {
                               echo 
                            '<p align="center">Einen Benutzernamen brauchen wir schon ;-)<br><br><a href="login.php">Zurück</a></p>';
                              }elseif(!
                            $_POST['password'] || $_POST['password'] == "") {
                               echo 
                            '<form action="login.php" method="post">';
                                echo 
                            '<p align="center">Ein Passwort brauchen wir schon ;-)<br><br>';
                                echo 
                            '<input type="hidden" name="username" value="'.$_POST['username'].'">';
                                echo 
                            '<input type="submit" name="zurueck" value="Zurück">';
                                echo 
                            '</p>';
                               echo 
                            '</form>';
                              }else{
                                
                            $password md5($password);
                                
                            //Usernamen aus der Datenbank auslesen
                                
                            $login_SQL="SELECT rc_team_benutzer_ID, rc_team_benutzer_pass FROM rc_team_benutzer WHERE rc_team_benutzer_name = '".$_POST['username']."'";
                                
                            $login_result=mysql_query($login_SQL);
                                
                            $login=mysql_fetch_array(mysql_query($login_SQL)) or die('<p align="center">Benutzername existiert nicht!<br><a href="login.php">Zurück</a></p>') ;
                                if(
                            $password != $login['rc_team_benutzer_pass']){
                                  echo 
                            '<form action="login.php" method="post">';
                                  echo 
                            '<p align="center">Passwort falsch!<br><br>';
                                  echo 
                            '<input type="hidden" name="username" value="'.$_POST['username'].'">';
                                  echo 
                            '<input type="submit" name="zurueck" value="Zurück"></p>';
                                  echo 
                            '</form>';
                                 die;
                                }else{
                                  
                            $user $login['rc_team_benutzer_ID'];
                                  
                            session_register('user');
                                  echo 
                            '<p align="center">LogIn erfolgreich!<br><br><a href="start.php">Weiter</a></p>';
                                }
                              }
                              
                            ?></div>
                                </body>

                            </html>
                            -----------------------------------------------------------------------------------------------

                            Freue mich auf eure Antworten.

                            Angus

                            EDIT:
                            da gibt es was, was sich php-tags nennt. die habe ich eingefügt, damit man den code besser lesen kann.
                            Abraxax

                            Zuletzt geändert von Abraxax; 25.04.2003, 19:17.

                            Kommentar


                            • #15
                              die variablen ala $_POST $_GET usw sind erst ab php 4.1.x verfügbar.

                              vorher solltest du $HTTP_POST_VARS $HTTP_GET_VARS $HTTP_SERVER_VARS verwenden. dies sind auch arrays, sodass du einfach nur suchen/ersetzen machen brauchst. dahinter ändert sich nichts.

                              ich würde dir auch empfehlen den hoster zu wechseln, wenn der noch die 4.0.6 installiert hat.
                              INFO: Erst suchen, dann posten![color=red] | [/color]MANUAL(s): PHP | MySQL | HTML/JS/CSS[color=red] | [/color]NICE: GNOME Do | TESTS: Gästebuch[color=red] | [/color]IM: Jabber.org |


                              Kommentar

                              Lädt...
                              X