PHP中会话劫持的处理

PHP中会话劫持的处理,php,security,session,Php,Security,Session,通过阅读Stackoverflow上关于会话劫持的许多问题,我发现验证用户会话的唯一“解决方案”是检查用户代理,这是一个非常薄弱的保护层,我甚至懒得去实现它 我想知道你们实施了什么解决方案?您是在使用PHP的本机会话还是有更安全的解决方案?如果请求具有不同的IP和/或主机名,只需将用户注销即可。对于拥有动态IP的人来说,再次登录并不是什么大问题 显然,“正确”的处理方法是实现SSL。劫持会话不需要会话id。XSS攻击可以有两种方式之一。最常见的方法是读取document.cookie并将其发送到

通过阅读Stackoverflow上关于会话劫持的许多问题,我发现验证用户会话的唯一“解决方案”是检查用户代理,这是一个非常薄弱的保护层,我甚至懒得去实现它


我想知道你们实施了什么解决方案?您是在使用PHP的本机会话还是有更安全的解决方案?

如果请求具有不同的IP和/或主机名,只需将用户注销即可。对于拥有动态IP的人来说,再次登录并不是什么大问题


显然,“正确”的处理方法是实现SSL。

劫持会话不需要会话id。XSS攻击可以有两种方式之一。最常见的方法是读取
document.cookie
并将其发送到远程服务器(此请求还将包含受害者用户代理,因此检查此值完全是浪费时间,因为它无法阻止任何攻击。微软开发的一种很酷的安全方法叫做,大多数浏览器都支持这种安全特性

HTTPOnly Cookies和检查客户端的ip地址并不能阻止所有会话劫持。事实上,如果攻击者有XSS漏洞,他可以在受害者浏览器上使用XHR伪造请求,而不需要知道cookie的值


最后,为了阻止会话劫持,您需要插入web应用程序中的漏洞。最重要的是,您需要防止“会话骑行”,这也被称为。您还需要防止漏洞,这是查找漏洞的好工具。最后但并非最不重要的一点是,你必须阅读。OWASP A3的一个常见违规行为是人们不在整个会话中使用HTTPS。在任何情况下都不能通过http泄漏cookie的值,这与泄漏用户名/密码的影响完全相同。如果黑客正在嗅探流量,他将立即访问您的网站

相反,EFF最近证明了用户代理实际上非常具体。在这里可以找到更多信息:在这里@Palantir-谢谢,我要看看这篇文章的可能副本,当用户更改IP时注销会给AOL用户带来麻烦,他们的web网关经常切换IP地址(如果他们仍然这样做,他们肯定在2-3年前就这样做了)。在这种情况下,您可以检查主机名是否与AOL有任何关系,并暂时忽略IP。仅仅因为用户在代理服务器场网络后面而将其从会话中删除似乎不是一个可靠的解决方案,除了只有SSL之外。除非您想添加一些隐藏的GET/POST值或其他cookie,但这是增加安全性的一种相当模糊的方法。