3

php 会话的安全性如何?我打算使用本机 PHP 会话来验证用户。用户可以像 $_POST 和 $_GET 数据那样修改会话数据吗?

4

2 回答 2

6

只有当您作为开发人员让用户通过您编写的代码将数据放入会话时,数据才会进入会话。因此,会话与您允许进入其中的数据以及您如何信任和使用该数据一样安全。此外,会话基于客户端用来识别会话用户的 sessionID。如果有人劫持了 sessionID,那么他们就可以模仿他们窃取了 session ID 的用户。这可能发生在非 SSH 通信中。所以不要相信会话 ID 来识别用户(重要的东西),除非他们已经登录并且会话 ID 只在安全模式下传输。

下一个安全问题是您发送给用户的 sessionID 的“可猜测性”。如果您处理我上面提到的东西,当您通过它和文档时,您将了解 PHP sessionID 是多么“可猜测”。

最后要注意 XSS 攻击。互联网上有几篇文章解释了如何最大限度地减少 XSS 的发生率。

于 2008-10-20T21:20:06.290 回答
3

PHP 会话与提供给用户的会话 cookie 一样安全。会话中的所有数据都存储在服务器端,因此用户不能随意修改它们,除非通过您的站点提供的任何功能。但是,PHP 会话 cookie 是跨站点脚本 (XSS) 和跨站点请求伪造 (CSRF) 攻击的常见目标。同样,只要您意识到潜在的风险,会话是进行用户身份验证的好方法。

一些维基百科链接:

CSRF

跨站脚本

于 2008-10-20T21:20:05.413 回答