Phi*_*ton 8 php security authentication cookies session
我正在为一个新的PHP站点开发一个登录和身份验证系统,并且已经阅读了各种攻击和漏洞.但是,它有点令人困惑,所以我想检查一下我的方法是否有意义.
我计划存储以下数据:
在会话中: user-id,hashed + saltedHTTP_USER_AGENT
在cookie和数据库中:随机令牌,散列+盐渍标识符
在每个页面上,我计划执行以下操作:
如果存在会话,请使用该进程进行身份验证.检查是否HTTP_USER_AGENT与存储的会话中的匹配.
如果不存在会话,请使用cookie进行身份验证.检查cookie中的标记和标识符是否与数据库中的标记和标识符匹配.
如果cookie无效或不存在,请要求用户登录.
这有什么明显的缺陷吗?只要我在cookie中设置超时,我应该相当安全,对吧?有什么我想念的吗?
提前谢谢了.
Woo*_*kai 12
一些随意的想法:
HTTP_USER_AGENT是阻止会话劫持的第一步,但也许你可以将它与IP地址结合起来?与目标相比,在同一台主机上要比使用相同的浏览器困难得多.但无论如何,感谢您花时间考虑良好的身份验证方案.很多PHP开发人员都没有.
编辑:为了记录,让我在这里澄清一点:在这个幻想中有两个饼干.一个由PHP自动设置以传播会话ID(有时,我们看到网站将其放入URL,例如www.example.com/page.php?sessionId = [...]),第二个由您创建为了存储用户凭据并在会话丢失时对其进行身份验证.XSS攻击适用于两者,即攻击者可以窃取会话cookie并劫持会话(具有有限的生命周期),或者窃取凭证cookie并在以后进行身份验证.
| 归档时间: |
|
| 查看次数: |
8982 次 |
| 最近记录: |