我正在散列密码,在读取会话数据时匹配用户代理,以及安全地登录用户所需的一切。我感兴趣的是如何安全地检索/读取会话数据。例如,我使用了一个从会话数据数组中获取用户id的函数...
在db表中:
a:6:{s:9:"user_data";s:0:"";s:7:"user_id";s:1:"3";s:9:"firstname";s:4:"Tina";s:8:"lastname";s:3:"Fey";s:8:"username";s:8:"lizlemon";s:6:"status";s:1:"1";}函数(Codeigniter):
function get_user_id()
{
if (is_numeric($this->ci->session->userdata('user_id')))
{
return $this->ci->session->userdata('user_id');
}
else
{
exit();
}
}我只是检查id是否是数字。即使会话数据被安全地添加到数据库中,我们也应该担心检索会话数据吗?
发布于 2012-06-24 11:17:50
你应该永远不要写你自己的会话处理程序()。使用sesion_start()和$_SESSION[]超级全局。这也为使用PHP security session features打开了大门,比如cooke_secure、http_only cookies和use_only_cookies。
session_start()生成一个非常安全的会话id,它是一个加密随机数。您可以将PHP配置为从/dev/urandom中提取此值,这是一个非常安全的熵池,也可能是生成会话id的最佳方式。
https://stackoverflow.com/questions/11174033
复制相似问题