Hallo liebe Leute,
ich habe ein kleines Loginscript für meine Seite geschrieben.
Jedoch frage ich mich jetzt, ob es auf diese Art und Weise wirklich sicher ist.
Es wäre echt cool, wenn Ihr mal schnell drüber fliegen könntet und mir vielleicht noch einige Tips/Verbesserungsvorschläge gebt.
Für das Script benutze ich in der Datenbank('test') eine Tabelle 'users' welche die Spalten: 'ID' 'Name' 'Passwort' beinhaltet.
Der code der Loginseite (test.php) sieht so aus:
	
Ich bin für jede Hilfe dankbar. 
Gruß saio
					ich habe ein kleines Loginscript für meine Seite geschrieben.
Jedoch frage ich mich jetzt, ob es auf diese Art und Weise wirklich sicher ist.
Es wäre echt cool, wenn Ihr mal schnell drüber fliegen könntet und mir vielleicht noch einige Tips/Verbesserungsvorschläge gebt.
Für das Script benutze ich in der Datenbank('test') eine Tabelle 'users' welche die Spalten: 'ID' 'Name' 'Passwort' beinhaltet.
Der code der Loginseite (test.php) sieht so aus:
PHP-Code:
	
	
<?php
    error_reporting(E_ALL);
        
    define('MYSQL_HOST',     'localhost');
    define('MYSQL_USER',     'root');
    define('MYSQL_PASS',     '');
    define('MYSQL_DATABASE', 'test');
    
    @mysql_connect(MYSQL_HOST, MYSQL_USER, MYSQL_PASS) OR die(mysql_error()."\n");
    mysql_select_db(MYSQL_DATABASE) OR die("Datenbank nicht ausgewählt:<br />=> ".mysql_error()."\n");
    
//F U N K T I O N E S D E F I N I T I O N E N  -  S T A R T    
    function array_stripslashes(&$var)
    {
        if(is_string($var)) {
            $var = stripslashes($var);
        } else {
            if(is_array($var)) {
                foreach($var AS $key => $value) {
                    array_stripslashes($var[$key]);
                }
            }
        }
    }
    
    function login($name, $pass)
    {
        $sql = "SELECT
                    Password
                FROM
                    users
                WHERE
                    Name = '".$name."';";
        $result = mysql_query($sql) OR die(mysql_error());
        $row = mysql_fetch_assoc($result);
        mysql_free_result($result);
        if($pass != "" AND md5($pass) == $row['Password']){
            return true;
        }else{
            return false;
        }
    }
//F U N K T I O N E S D E F I N I T I O N E N  -  E N D E
    if(isset($_GET['section']) AND ("admin" == $_GET['section'])) {
        session_start();
        if(!isset($_SESSION['IP'])) {
            $_SESSION['IP'] = $_SERVER['REMOTE_ADDR'];
        }
        if($_SESSION['IP'] != $_SERVER['REMOTE_ADDR']) {
            die("Sie dürfen keine Sessions von anderen Usern verwenden!!!"); 
        }
    }
    if(get_magic_quotes_gpc()) {
        array_stripslashes($_GET);
        array_stripslashes($_POST);
        array_stripslashes($_COOKIE);
    }
    if(isset($_GET['action']) AND ("logout" == $_GET['action'])){ 
        unset($_SESSION['ID']);
        unset($_SESSION['IP']);
        session_destroy();
        echo "Ausgeloggt";
        echo "</p>\n";
        echo "<a href=\"test.php?section=admin\">Einloggen</a><br />\n";
    } else {
        if(isset($_POST['UserID']) AND "" == $_POST['UserID']) {
            echo "<p>\n";
            echo "    Bitte geben Sie einen Benutzernamen ein.\n";
            echo "</p>\n";
            echo "<a href=\"test.php?section=admin\">Einloggen</a><br />\n";
        } else {        
            if(isset($_POST['UserID'], $_POST['Password'])){
                    if(login(addslashes($_POST['UserID']), addslashes($_POST['Password']))){
                        $_SESSION['ID'] = $_POST['UserID'];
                    }
            } 
            if(isset($_SESSION['ID'])) {
                echo "<p>\n";
                echo "Willkommen im Adminbereich <br />\n";
                echo "    <a href=\"test.php?section=admin&action=logout&".SID."\">Ausloggen</a><bt />\n";
                echo "</p>\n";
            } else {
                if(isset($_POST['submit'])) {
                     echo "<p>\n";
                     echo "    Ungültiges Password.\n";
                     echo "</p>\n";
                     
                }
                echo "<form action=\"test.php?section=admin\" method=\"post\" class=\"formular\">\n";
                echo "    <p>\n";
                echo "        Adminbereich\n";
                echo "    </p>\n";
                echo "<input type=\"text\" size=\"10\" name=\"UserID\" id=\"name\">\n<br />";
                echo "<input size=\"10\" type=\"password\" name=\"Password\" id=\"password\" />\n<br />";
                echo "<input type=\"submit\" name=\"submit\" value=\"Login\" />\n";
                echo "</form>\n";
            }
        }
    }
?>

Gruß saio
          
 
 

 an alle Kommentatoren
							
						
Kommentar