我是PHP cookie和会话的新手。
我正在使用PHPauth项目,他们的一条指令让我感到困惑。从他们的维基(这里:https://github.com/PHPAuth/PHPAuth/wiki/Class-Methods),登录功能有注释:
注意:您需要获取返回的会话哈希并创建 会话cookie,该方法不适合你。
我不是在为PHPauth项目问这个问题,但是对于所有的身份验证,因为这是我不理解的。具体来说,是什么让会话安全?我是否需要根据数组给出哈希值?
Array (
[error] =>
[message] => You are now logged in.
[hash] => 2ec4b290cedd651cf1c20635a887dd7f7042dc54
[expire] => 0
)
我的意思是,我可以设置一个cookie,但那又是什么?我如何知道该cookie是否对此特定登录有效?
谢谢!
答案 0 :(得分:0)
当您在PHP中使用本机会话机制时,调用session_start()
会自动发送必要的HTTP答案,以便向客户端创建包含会话ID哈希值的cookie(这就是为什么不应该输出任何输出的原因)在致电session_start()
btw之前。)默认情况下,此cookie名称为" PHPSESSID",因此PHP首先检查在您请求页面时是否存在具有该值的哈希的cookie,如果是,则会再次继续您的会话。
当然,您也可以重命名默认会话cookie名称等。 您应该在这里查看PHP会话选项:http://php.net/manual/en/session.configuration.php
简而言之:通常没有必要将会话哈希保存在任何地方(出于安全原因你也不应,除非你有正当理由)并且PHP处理它自动。