2011-08-08 67 views
2

我试图在codeigniter中推出自己的认证系统,并且偶然遇到了一些障碍。codeigniter中的安全认证

如果我的会话设置为使用数据库,则userdata是单独存储在数据库还是存储在cookie中?我想将哈希密码存储在其中以验证用户实际登录的每个页面加载是否正确,并且我不希望哈希能够被客户端访问。

如何防止会话被盗?我已经启用了IP和主机名验证,是自动的还是我必须自己执行检查?这足以阻止人们窃取会话数据吗?

回答

3

Userdata可以存储在Session中。如果您将会话设置为使用数据库,则唯一的cookie将是ci_session cookie或您指定的任何cookie,并且cookie + ip/hostname将与数据库会话表匹配。

在会话中存储哈希密码将是完全安全的,它将在您自己的数据库中。没问题。被盗应该使用iphostname比赛

防止会话(无论是每一个页面加载还是有点较少,有些人有动态IP),不知道自动验证,但如果你自己检查它总是很高兴。

防止会话数据被盗是非常相似的。除非有人拦截你的cookie,并且神奇地报告一个虚假的IP(或者,与目标共享一个IP /主机名),这就足够了。你也可以做另一个检查,匹配user_agent。你必须手动完成。

这几乎是一切。

+0

这将是很好的给一个代码示例,我正在寻找,但无法找到一个工作在config.php –