我如何为此脚本实现自动登录功能?
session_start();
$result = mysql_query("SELECT id FROM users
WHERE username = '{$_POST['username']}'
AND password = '{$_POST['password']}'");
if (isset($_POST['savelogin'])) {
setcookie("SaveLogin", $_POST['username'], time()+3600);
setcookie("SaveLogin", $_POST['password'], time()+3600);
}
if (mysql_num_rows($result) == 0) {
exit('wrong username/password');
} else {
$_SESSION['id'] = mysql_result($result, 0, 'id');
header("Location: ./");
}
<form method="post">
Username: <input type="text" name="username" size="22" /><br>
Password: <input type="password" name="password" size="22" /><br>
<br>
Autologin? <input type="checkbox" name="savelogin" />
<input type="submit" value="Login" />
</form>
Run Code Online (Sandbox Code Playgroud)
多数民众赞成我有多远.保存用户名和密码.但我应该如何做到自动登录呢?
Doo*_*taz 13
首先,您不希望将用户名和密码保存到cookie中.这是个坏主意.
一个简单的思考方法是:
1)在users表中创建一个存储MD5哈希的新字段.你可以称之为session_key.
2)提交页面时,脚本应执行以下操作.
3)在./页面上,执行以下操作:
这应该会让您的应用更加安全.它可能不是最好的编码方式,但这些概念应该让您了解如何创建一个相当安全的登录页面.
这是一种非常不安全的自动登录方法.您绝不应将密码存储在纯文本的任何位置.
更好的策略如下: