Php 持续的密码检查?

Php 持续的密码检查?,php,login,passwords,Php,Login,Passwords,我已经阅读了以下内容: never store the users password or even a hash of the password in session or cookie data. 我正在做一个系统来检查一个常数密码,如果它与会话中保存的密码不同,那么强制注销;像facebook这样的人?当您更改密码或密码已更改时,您将注销 我的代码如下: function ConstantPassword($Password) { if ($_SESSION['Password

我已经阅读了以下内容:

never store the users password or even a hash of the password in session or cookie data. 
我正在做一个系统来检查一个常数密码,如果它与会话中保存的密码不同,那么强制注销;像facebook这样的人?当您更改密码或密码已更改时,您将注销

我的代码如下:

function ConstantPassword($Password)
{
    if ($_SESSION['Password'] !== $Password)
    {
        include "Logout.php";
    }
}
但是,如果说不在会话/cookie中存储密码?这方面的另一个解决办法是什么

您可以在会话中存储盐(或其散列)


更改密码应更改salt,这将使会话无效。

您可以执行一次检查,然后存储一个
$\u会话['logged\u in']=TRUE
变量。注销时,您可以
unset($\u SESSION['logged\u in'])
it和
SESSION\u destroy()
SESSION。无需在会话中输入密码或盐


另外,您不应该自己实现密码,而是应该使用这个:PHP 5.5中的库。

如果您不想在会话中存储密码,您可以存储上次密码更改的时间戳,并在每次请求时根据数据库对其进行验证。

检查密码一次,然后在数据库中存储一对密码(随机散列,用户id),并将随机散列放入会话中。

,月亮是由绿色奶酪做成的。@Dagon那么你说在浏览器会话中存储密码是可以的吗?那么你只会盲目地跟随互联网上读到的其他评论。这个“固定密码”的目的是什么?@NullUserException我想像facebook一样集成一些东西;当密码不匹配甚至更改时强制注销;只是提醒用户(他们的帐户可能被黑客入侵)密码已被更改我在将salt集成到密码中时没有那么多经验,我知道我不应该这么做。。但是密码是与坏掉的MD5no store一起存储的,MD5no store是一个会话变量,它只让您知道他们是否登录。不要存储任何密码信息。没有必要。见答案@rygu@nathanhayfield:如果用户有多个活动会话怎么办?这不会使它们全部失效……为什么你会允许用户有多个登录会话?@nathanhayfield:多个浏览器或计算机。我想这个问题与在更改用户密码时使用户的所有活动会话失效有关,所以这种方法可能不够。让@user1968541来决定……如何通过时间戳对用户进行身份验证?因为问题是关于在更改密码时强制注销,所以我假设用户已经过身份验证,问题只是关于检查密码是否同时更改。