могу ли я улучшить свой PHP система входа в систему с помощью файлов cookie?

В настоящее время я тестирую простую систему входа в систему. сделал. Что делает сценарий, так это он проверяет имя пользователя и пароль, которые я ввел, с теми, которые есть в моей базе данных, и, если они оба совпадают, он устанавливает имя пользователя в переменную сеанса. Когда я перехожу на страницу «только для участников», она проверяет, существует ли переменная сеанса, если она не существует, пользователь не может просматривать содержимое. Кажется, работает как задумано. Основываясь на приведенной выше информации, вот мои вопросы:

  1. Какие уязвимости / недостатки есть в моем методе?

  2. Могут ли файлы cookie сделать его более безопасным? Если да, то как это будет происходить с моим кодом?

Вот над чем я работаю до сих пор:

проверка имени пользователя и пароля:

<?
session_start();

$username = $_POST['username'];
$password = $_POST['password'];

if ($username && $password){
$query = mysql_query("SELECT * FROM user WHERE username='$username' ");
$numrows = mysql_num_rows($query);

    //if user exists
    if ($numrows !=0){
        while ($row = mysql_fetch_array($query)){
                $dbusername = $row['username'];
                $dbpassword = $row['password'];
            }

        if ($username == $dbusername && md5($password) == $dbpassword){
            echo 'You\'re in! <a href="member.php">Click</a> here to enter the member page.';   
            $_SESSION['username'] = $dbusername;

        }
        else
            echo "incorrect password!";
    }
    else
        die("sorry, that user doesn't exist!");
}



?>

страница только для участников:

<?
session_start();


if ($_SESSION['username']){
echo "Welcome, ".$_SESSION['username']."!<br>
<a href='changepassword.php'>Change password</a>
";
}
else{
echo "please log in";   
}
?>
0
задан user701510 21 November 2011 в 07:59
поделиться