繁体   English   中英

我需要在Codeigniter中使用会话吗?

[英]Do I need to use sessions in Codeigniter?

或一般在PHP中。 我需要检查用户在访问特定页面时是否已登录。 教程建议使用会话,例如

$sessionData = array('username'=>$username, 'status'=>1);
$this->session->set_userdata($sessionData);

为了获得更好的安全性,他们建议使用db表。

如果我只是将用户名和状态存储在数据库中,然后在人们注销时将状态更改为0,该怎么办?

每当他们需要访问特定页面时,我只需检查状态1。

  1. 当您调用session_start() PHP在用户的浏览器中使用随机生成的ID设置cookie。
  2. 从那时起,只要您在$_SESSION存储一个值,该文件就会(默认)存储在脚本末尾的session.save_path中的文件中。 该文件由会话ID标识。
  3. 在随后的请求中,客户端将其会话ID cookie发送回服务器,因此,当您在脚本中调用session_start() ,PHP可以去检索该会话文件并将其内容恢复到$_SESSION

从字面上看, 将要编写的所有内容都将只是重新实现此已编写的行为,但是这些年来,PHP项目没有增加安全性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM