PHP session 登录记住我

标签 php authentication

我有一个使用 PHP Sessions 的 PHP 注册/登录系统,它运行良好,我希望用户能够记住我,然后他们会永远保持登录状态,或者至少一周左右。

我猜我需要存储一个 cookie 并检查,我对我实际需要存储在 cookie 中的内容感到困惑。如果我存储了用户 ID 或用户名,那么就不能有人使用假 cookie 来查看其他用户的数据吗?

感谢任何进步。

最佳答案

您需要做的就是扩展 PHP session cookie。以下示例将 cookie 延长 30 天:

$params = session_get_cookie_params();
setcookie(session_name(), $_COOKIE[session_name()], time() + 60*60*24*30, $params["path"], $params["domain"], $params["secure"], $params["httponly"]);

我认为根据您的安全问题,您只是担心放置容易被黑客攻击的值。 PHP session cookie 具有随机值并将其内容存储在文件系统中,因此您应该没问题。

关于PHP session 登录记住我,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12091951/

相关文章:

php - Zend 中基本 Controller 的缺点是什么?

PHP preg_match_all 捕获字符串前面而不是字符串中间的所有模式

php - Laravel 中的迁移错误

asp.net-mvc-3 - ASP.Net MVC3 用户身份验证教程

android - 谷歌加登录getIdToken返回null

php - 包含日期和时间的字段不会与 Laravel 中的另一个进行比较

php - Joomla 3.4.3 - configuration.php 不可写

php - 多线程实现模式

javascript - 出现错误 : FATAL ERROR: jwtPrivateKey is not defined. '

使用 SSH 私钥的 MySQL root 登录?