php - CodeIgniter 身份验证安全模型

原文 标签 php security codeigniter session-cookies

我已经为 CodeIgniter 构建了一个自定义身份验证系统(我知道有各种 3rd 方库可用,但这是为了我自己的利益)但我担心我错过了一些可能会导致整个事情失败的明显内容。

我使用 CI session (通过数据库)并加密 cookie 值以进行一些可能毫无意义的混淆。登录通过 SSL 进行(并且 cookie 被修改为仅安全)。我还使用 phpass 来散列密码以进行存储,尽管这在这里并不真正相关。这部分的某个地方可能存在薄弱环节,但我主要担心的是页面到页面检查基本上由 if is_logged_in = true 组成。在 session 中输入方法以及他们的用户名。这一点让我担心,因为它似乎有点太“容易”了。这种方法很脆弱吗?我是否应该逐页计算用户代理或其他内容的哈希并确保它们匹配?

任何指针将不胜感激。就像我说的,我知道预先存在的解决方案,但我正在尝试在这里学习一些知识:)

最佳答案

你提到的一切都很好。然而,我对 phpass 并不熟悉。确保在对密码进行哈希处理时,您使用的是盐。

if_logged_in = true检查就足够了,因为 session 数据存储在服务器端。检查诸如用户代理之类的内容的原因是为了帮助防止 session 劫持,即一个人获取另一个人的 session ID。

关于php - CodeIgniter 身份验证安全模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4443446/

相关文章:

Codeigniter global_xss_filtering

php - PHP数据库类中的静态数组声明-不正确的语法错误?

java - 如何在(网络)php 应用程序中使用/集成 Apache OpenNLP?

cordova - 在 Phonegap 中安全登录

database - 'real' 数据库授予用户什么权限?

php - 如何使用 codeigniter 在我的模型的 where 子句中使用表单中的输入值

.htaccess - 如何编写.htaccess文件以使CodeIgniter URL路由正常工作?

php - 从PHP中的字符串检测语言

php - HTML 输入名称对应于数据库列名称 : how to protect from possible attacks

security - 为什么默认情况下并非所有网络流量都使用 https 进行加密? (或加密的http)