User Login

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

  • User Login

    habe da mal eine frage wer könnte mir ein user login erstellen wo ich nur noch die mysql daten eintragen muss eine tabelle habe ich schon erstellt der tabellen name ist blab6_users das pw solte md5 sein so nun zu der tabelle

    usr_id usr_name usr_pass usr_mail usr_join_date usr_status







    Feld Typ

    usr_id int(11)

    usr_name varchar(64)

    usr_pass char(32)

    usr_mail varchar(64)

    usr_join_date int(11)

    usr_status varchar(8)


    ich hoffe es reicht euch wäre euch damit sehr dank paar dafür
    Angehängte Dateien

  • #2
    Hast du Skype?

    Müsste noch irgendwo eine login klasse haben.

    Skype: -zensiert-
    Zuletzt geändert von KevinLienkamp; 05.01.2013, 19:31.

    Kommentar


    • #3
      leider habe ich kein skype mein internet wäre dazu auch zulangsam bekomme erst Glasfaser

      Kommentar


      • #4
        Hmm.

        Ich gucke mal ob ich das Script finde und lade es dann in die Scripte-Section hoch.

        Dauert eventuell einen moment.

        Schätze mit einer Stunde

        Kommentar


        • #5
          ja okay das wäre echt super und du änderst das dann so das der die tabelle anspricht bzw kommuniziert

          Kommentar


          • #6
            Die MySQL Klasse. Wird benötigt.
            Bei mir class.mysql.php genannt.
            PHP-Code:
            <?php
            //********************************************************
            // Die MySQL Klasse
            //********************************************************

            class mysql
            {
                private 
            $host     ''
                private 
            $user     '';
                private 
            $passwort     ''
                private 
            $dbname     '';
                private 
            $last_injection '';
                private 
            $conn_id null;
                
                
                
                
                public function 
            __construct($host$user$passwort$dbname)
                {
                    
            $this->host     $host;
                    
            $this->user     $user;
                    
            $this->passwort $passwort;
                    
            $this->dbname     $dbname;
                    
            $this->connect_mysql();
                    return(
            $this->conn_id);
                }
                
                
                
                private function 
            connect_mysql()
                {
                    
            $this->conn_id mysql_connect($this->host,$this->user,$this->passwort); 
                    
                    if(
            $this->conn_id === false)
                    {
                        
            $message  "Verbindung zur Datenbank nicht m&ouml;glich.<br />\n";
                        
            $message .= "Mysql-fehlermeldung: <br />\n";
                        
            $message .= mysql_error();
                        
                        
            trigger_error($message);
                        } 
                        else 
                        {
                        
            $this->select_db();
                    }
                }
                
                
                
                private function 
            select_db()
                {
                    
            $select mysql_select_db($this->dbname,$this->conn_id);
                    
            mysql_set_charset('latin1'$this->conn_id);
                    
                    if(
            $select === false)
                    {
                        
            $message  "Die angegebene Datenbank \"".$this->dbname."\" existiert nicht.<br />\n";
                        
            $message .= "Mysql-fehlermeldung: <br />\n";
                        
            $message .= mysql_error();
                        
                        
            trigger_error($message);
                    }
                }
                
                
                
                public function 
            query($sqlcode)
                {
                    
            $this->last_injection mysql_query($sqlcode);
                    
                        if(
            $this->last_injection === false)
                        {
                            
            $message  "Fehler bei dem Ausf&uuml;hren eines Mysql-codes!<br />\n";
                            
            $message .= "Mysql-Code: " htmlspecialchars($sqlcodeENT_QUOTES) . "<br />\n";
                            
            $message .= "Mysql-fehlermeldung:<br />\n";
                            
            $message .= mysql_error();
                            
            trigger_error($message);
                        }
                        
                    return(
            $this->last_injection);
                }
                
                
                
                public function 
            array_result($sql NULL, &$row '')
                {
                    
            $inc '';
                    if(
            $sql === NULL)
                    {
                        
            $inc $this->last_injection;
                        } else {
                        
            $inc $sql;
                    }
                    
                    
            $row mysql_fetch_array($inc);
                    
                    return(
            $row);
                }
                
                
                
                public function 
            row_result($sql NULL, &$row '')
                {
                    
            $inc '';
                    if(
            $sql === NULL)
                    {
                        
            $inc $this->last_injection;
                        } else {
                        
            $inc $sql;
                    }
                    
                    
            $row mysql_fetch_row($inc);
                    
                    return(
            $row);
                }
                
                
                
                public function 
            object_result($sql NULL, &$row '')
                {
                    
            $inc '';
                    if(
            $sql === NULL)
                    {
                        
            $inc $this->last_injection;
                        } else {
                        
            $inc $sql;
                    }
                    
                    
            $row mysql_fetch_object($inc);
                    
                    return(
            $row);
                }
                
                
                
                public function 
            assoc_result($sql NULL, &$row '')
                {
                    
            $inc '';
                    if(
            $sql === NULL)
                    {
                        
            $inc $this->last_injection;
                        } else {
                        
            $inc $sql;
                    }
                    
                    
            $row mysql_fetch_assoc($inc);
                    
                    return(
            $row);
                }
                
                
                
                public function 
            num_result($sql NULL)
                {
                    
            $inc '';
                    if(
            $sql === NULL)
                    {
                        
            $inc $this->last_injection;
                        } else {
                        
            $inc $sql;
                    }
                    
                    
            $num mysql_num_rows($inc);
                    
                    return(
            $num);
                }
                
                
                
                public function 
            sql_string($string)
                {
                    return(
            mysql_real_escape_string($string));
                }
                
                
                
                public function 
            free_result($sql NULL)
                {
                    
            $inc '';
                    if(
            $sql === NULL)
                    {
                        
            $inc $this->last_injection;
                        } else {
                        
            $inc $sql;
                    }
                    
                    
            mysql_free_result($inc);
                }
                
                
                
                public function 
            result($set 0$field 0$sql NULL, &$row '')
                {
                    
            $inc '';
                    if(
            $sql === NULL)
                    {
                        
            $inc $this->last_injection;
                        } else {
                        
            $inc $sql;
                    }
                    
                    
            $row mysql_result($result$set$field);
                    
                    return(
            $row);
                }
                
                
                
                public function 
            insert_id(&$row '')
                {
                
                    
            $row mysql_insert_id();
                    
                    return(
            $row);
                }
                
                
                
                public function 
            close_connect()
                {
                    
            mysql_close($this->conn_id);
                }
            }
            ?>
            Und die Auth Klasse
            Bei mir class.auth.php genannt.

            PHP-Code:
            <?php
            //********************************************************
            // Die Authentication Klasse
            //********************************************************

            class auth
            {
                private 
            $MySQL NULL;
                
                public function 
            __construct($mysqldata)
                {
                    
            $this->MySQL $mysqldata;
                }
                
                public function 
            CheckLogin() // Überprüfen ob User eingeloggt ist. Wenn mit Cookie gelöst alle SESSION mit COOKIE ersetzten
                
            {
                    if(isset(
            $_SESSION['dataf']) && !empty($_SESSION['dataf']) && isset($_SESSION['datag']) && !empty($_SESSION['datag']))
                    {
                        
            $query sprintf("SELECT
                                            usr_name,
                                            usr_pass
                                        FROM
                                            blab6_users"
            ); // Tabellenname anpassen
                                    
                        
            $res $this->MySQL->query($query);
                        while(
            $row $this->MySQL->array_result($res))
                        {
                            if(
            md5(strtoupper(md5($row['usr_name'])))==$_SESSION['dataf'] && md5(strtoupper(md5($row['usr_pass'])))==$_SESSION['datag'])
                            {
                                return 
            true// User ist eingeloggt
                            
            }
                            else
                            {
                                return 
            false// Fehler beim Login
                            
            }
                        }
                        
                    }
                    return 
            false;
                }
                
                public function 
            Login($username$password)
                {
                    if(empty(
            $password) || empty($username))
                        return 
            false;
                    
                    
            $password md5($password);
                    
                    
            $query sprintf("SELECT
                                        *
                                    FROM
                                        blab6_users
                                    WHERE
                                        usr_name = '%s' AND usr_pass = '%s'"

                                    
            mysql_real_escape_string($username),
                                    
            mysql_real_escape_string($password)); // Tabellenname anpassen
                                    
                    
            $res $this->MySQL->query($query);
                    while(
            $row $this->MySQL->array_result($res))
                    {
                        
            $_SESSION['dataf'] = md5(strtoupper(md5($username))); // Session mit 3 fach verschlüsseltem Username + Passwort
                        
            $_SESSION['datag'] = md5(strtoupper(md5($password))); // Kann sehr einfach mit setcookie ersetzt werden
                        // setcookie("dataf", md5(strtoupper(md5($username))), time()+60*60); // Hällt 1 Stunde
                        // setcookie("datag", md5(strtoupper(md5($password))), time()+60*60); // Hällt 1 Stunde
                        
            return true;
                    }
                    
                    if(
            $this->MySQL->num_result($res)<1)
                        return 
            false;
                }
                
                public function 
            Logout()
                {
                    
            session_destroy(); // Session zerstören sorgt für Logout
                    // Wenn mit Cookie gelöst einfach Cookie auf Negativ setzten
                    // setcookie("dataf", "del", time()-1000);
                    // setcookie("datag", "del", time()-1000);
                
            }
                
                public function 
            GetAccountData($prefix// Hier kann man Infos aus der Logintabelle holen. Prefix beispiel: email
                
            {
                    
            $query sprintf("SELECT
                                        usr_name,
                                        usr_pass,
                                        "
            .$prefix."
                                    FROM
                                        blab6_users"
            ); // Tabellenname anpassen
                                
                    
            $res $this->MySQL->query($query);
                    while(
            $row $this->MySQL->array_result($res))
                    {
                        if(
            md5(strtoupper(md5($row['usr_name'])))==$_SESSION['dataf'] && md5(strtoupper(md5($row['usr_pass'])))==$_SESSION['datag'])
                        {
                            return 
            $row[$prefix];
                        }
                    }
                }
                
                public function 
            Register($username$password)
                {
                    
            //Anpassen
                
            }
            }
            ?>
            In die index.php muss folgendes ganz am Anfang eingefügt werden:

            PHP-Code:
            include_once('./class.mysql.php');
            $Database = new mysql("localhost""username""password""db");
            include_once(
            './class.auth.php');
            $Auth = new auth($Database); 
            Ab jetzt kann man alle Loginfunktionen Nutzen.

            PHP-Code:
            $Auth->Login("username""passwort"); // Loggt den User ein. Gibt True oder False zurück.
            $Auth->CheckLogin(); // Gibt True oder False zurück. Sagt ob der User eingeloggt ist.
            $Auth->GetAccountData("prefix"); // Gibt bestimmte Felder der Logintabelle wieder. Bei dir z.B. als Prefix: usr_email - Gibt dann die E-Mail aus
            $Auth->Logout(); // Loggt den User aus 
            Hoffe das ist was du brauchst. Habe ich jetzt nur schnell geschrieben. Sollte ein Fehler auftreten einfach fragen.

            LG
            Zuletzt geändert von KevinLienkamp; 05.01.2013, 20:08.

            Kommentar


            • #7
              okay danke dir werde es morgen mal probieren ob es geht hoffe es ach ja was muss ich bei private $last_injection = ''; eintragen ??? ach ja vllt muss ich noch mal auf dich zurück kommen aber da werde ich dir mal privat schreiben auf jeden erst mal tausend dank

              Kommentar


              • #8
                Die MySQL Klassendatei darf NICHT geändert werden.

                Die Logindaten gibst du bei der Implementierung auf der Index.php ein.

                Kommentar


                • #9
                  okay also ich habe da keine index.php sondern eine index.html hoffe doch das das da auch geht oder ???

                  und wenn ich das das richtig verstanden habe muss ich das dann so machen

                  [code]include_once('./class.mysql.php');
                  $Database = new mysql("localhost", "username", "password", "db");
                  include_once('./class.auth.php');
                  $Auth = new auth($Database);
                  <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
                  <html><head><meta content="text/html; charset=ISO-8859-1" http-equiv="content-type"><title>test</title></head><body style="color: rgb(0, 0, 0); background-color: white;" alink="#000088" link="#0000ff" vlink="#ff0000">login system test<br>

                  </body></html>[\code]
                  Zuletzt geändert von heyhey83; 05.01.2013, 22:40. Grund: hinzufügen

                  Kommentar


                  • #10
                    zu MySql: Lieber PDO oder MySqlI benutzten. PHP 5.5 und deprecated mysql Warning
                    zu MD5: lasse dir bitte etwas bei deinen Passwörtern einfallen, denn das einfache Hashen ist nicht sicher. Ein Salt verbessert das auch nur unzureichend.

                    Kommentar


                    • #11
                      Zu MySQL.
                      Danke, habe das noch garnicht gesehen. Werde mich mal reinlesen und mein Script anpassen.

                      Zu MD5.
                      Wieso sollte das nicht reichen? Ich benutze das jetzt schon seid ich denken kann und nie ist auch nur eine Sache passiert.
                      Vorallem wird es von den meisten entwicklern empfohlen.

                      Und eine 3 fache verschlüsselung das passwortes ist denke ich mal genug.

                      Kommentar


                      • #12
                        also für meine zwecke reicht das erst mal mit der dreifach Verschlüsselung ach ja KevinLienkamp kannst du mir da mal schnell noch eine index.php erstellen wo das mit den include das wäre sehr gut werde denn rest dann selber soweit anpassen

                        Kommentar


                        • #13
                          Zitat von KevinLienkamp Beitrag anzeigen
                          Und eine 3 fache verschlüsselung das passwortes ist denke ich mal genug.
                          Definitiv besser als ein einfacher Hash. Damit packt eine GPU nur noch 163 Millionen Hashes pro Sekunde. Bald kannst dort auch PHP: password_hash - Manual benutzen

                          Kommentar


                          • #14
                            ja also wie gesagt un über den andern sachen reden wir über PN

                            Kommentar

                            Lädt...
                            X