gpt4 book ai didi

用于登录脚本的 PHP Autologin 函数

转载 作者:可可西里 更新时间:2023-11-01 13:35:09 25 4
gpt4 key购买 nike

我如何为这个脚本实现自动登录功能?

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>

这就是我的进展。保存用户名和密码。但是我应该怎么做才能自动登录?

最佳答案

首先,您不想将用户名和密码保存到 cookie 中。这是个坏主意。

一个简单的思考方法是:

1) 在用户表中创建一个新字段,用于存储 MD5 哈希值。您可以将其称为 session key 。
2) 提交页面时,脚本应执行以下操作。

  • 验证用户名和密码
  • 如果是正确的用户名和密码对,检查 saveLogin 变量
  • 如果设置了 saveLogin 变量,则生成一个 md5 并将其存储在数据库中。还将那个 md5 存储在 cookie 中。确保数据库表也有一个 cookie-expires 字段。
  • 构建您需要的 session 数据。
  • 重定向到./

3) 在您的 ./页面上,执行以下操作:

  • 检查 session 是否仍然存在。如果是,则呈现页面。
  • 如果 session 不存在,检查 cookie。
  • 如果 cookie 存在,请在数据库中查找该 session ID 并确保它没有过期。然后构建 session 并呈现页面。

这应该会使您的应用更加安全。这可能不是最好的编码方式,但这些概念应该能让您了解如何制作相当安全的登录页面。

关于用于登录脚本的 PHP Autologin 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1382303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com