gpt4 book ai didi

php - 使用 Cookie 记住我时的安全性

转载 作者:可可西里 更新时间:2023-11-01 00:16:45 25 4
gpt4 key购买 nike

我已经在 PHP 中实现了一个登录类,并希望创建一个记住我 类型的功能,这样用户就不必在每次访问时都登录。我对此进行了一些研究,并准备使用 PHP setcookie(...) 编写它,但随后遇到了这个页面:How to Create 'Remember Me' using jquery , store cookies .我本来打算用 PHP 写这个,因为这是我的强项,但是这个页面让它在 js 中看起来很简单:http://www.quirksmode.org/js/cookies.html

我正在寻找关于每种方法的陷阱的一些指导,更具体地说是与安全相关的问题。我只是想确保我不会通过提供此类功能使任务复杂化或打开任何漏洞。

谢谢,克里斯

最佳答案

OpenID、facebook 连接、twitter 登录

我建议您不要正确(阅读下面的 cookie rememberme 信息)您自己的登录系统,因为编码一个安全的系统是困难的(安全地存储密码是困难的)。它还可以为您节省大量编码。例如,当您登录我的 openid example使用谷歌,你可以告诉谷歌记住你 30 天。用于我的示例的代码可以在 my github page 找到.

Http_only

你应该使用 http-only cookies保护自己免受 cookie 窃取(尽量不要使用来自 javascript 的 cookie)。 php函数setcookie也有一个http-only旗帜。对于 session ,您可以使用类似的方法实现此目的:

<?php
ini_set("session.cookie_httponly", 1);
// or
session_set_cookie_params(0, NULL, NULL, NULL, TRUE);
?>

不要在 cookie 中存储数据

此外,您应该在 cookie 中存储尽可能少的信息。从数据库( session )获取数据。我想你很容易完成 rememberme cookies 设置 expire of your sessions随心所欲,但如果你问我,也不要太高。

有趣的阅读

这也是一本提高 session 安全性的非常有趣的读物:http://web.archive.org/web/20120417214604/http://segfaultlabs.com/files/pdf/php-session-security.pdf

关于php - 使用 Cookie 记住我时的安全性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6484630/

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