【发布时间】:2012-08-30 02:58:28
【问题描述】:
我将使用 cookie 和会话来识别用户。因此,仅当用户选择“不要记住我”选项时才会使用会话。
我在网站每个页面的顶部都包含了识别文件。
用户会话看起来像$_SESSION['user']
我的问题是:
我必须在身份验证文件中放置session_start() 指令吗?我问它是因为每次我使用此指令时都会创建新会话。
更新 http://pastebin.com/Nh3zj6mR用户识别脚本
【问题讨论】:
-
session_start() 创建新会话或恢复旧会话 - 除非您在调用此 session_start() 之前执行了某些操作。然后我认为它总是会开始一个新的......
-
你能发布一些代码吗?只有cookies不是很安全...
-
@John 你能解释一下原因或提供一个很好的资料来阅读它吗?
-
if (isset($_COOKIE['rwt'])) { $QH=$this->_DBH->prepare("SELECT * FROM accounts WHERE cookie=:cookie_value");您可以简单地将 cookie 编辑为另一个用户名,就可以了。最好使用某种散列,将其存储在 cookie 中,然后使用该散列从数据库中获取所需的数据。还将该 cookie 绑定到一个 IP 地址。 -
@John pastebin.com/aQEzzPJM 我以这种方式创建 cookie 值,而不是将其插入数据库
标签: php session authentication