【发布时间】:2012-06-25 19:19:36
【问题描述】:
我正在对密码进行哈希处理,在读取会话数据时匹配用户代理,以及安全登录用户所需的一切。我对安全检索/读取会话数据的方法感兴趣。例如,我正在使用一个从会话数据数组中获取用户 ID 的函数...
在数据库表中:
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 是否为数字。即使会话数据已安全添加到数据库,我们是否应该担心检索会话数据?
【问题讨论】:
-
如果您在将其从数据库拉回内存后进行完整性检查,我想重新验证?似乎没有必要,但我敢肯定有人已经或可以梦想到某个角度。如果你把它放在那里,你应该可以信任它,但它在那种状态下被篡改了吗?
-
警告:如果您正在处理像云服务器或其他东西这样的第三方服务,它在一段时间内无法控制,您应该尝试完整性检查并重新验证什么是需要信任。
-
@JaredFarrish 我没有试图篡改它。我正在尝试为其添加尽可能多的安全性,因为所有数据库交互都取决于用户 ID。