1
我目前使用的会话来处理用户的数据,例如:会话重新生成的好处?
- 用户名
- 密码
- 名称
- 权限
我想知道是一回事,如果数据在发送到会话之前被加密,会重新生成毫无意义?我目前已设置从TMP删除旧会话并创建一个新会话。
是否有人可以解释它是如何使我受益的?我发现他们喜欢使功能看起来非常重要,他们很赞赏文档! :)
我目前使用的会话来处理用户的数据,例如:会话重新生成的好处?
我想知道是一回事,如果数据在发送到会话之前被加密,会重新生成毫无意义?我目前已设置从TMP删除旧会话并创建一个新会话。
是否有人可以解释它是如何使我受益的?我发现他们喜欢使功能看起来非常重要,他们很赞赏文档! :)
session_regenerate_id()
实际上并没有防止会话固定。但是,至少应该在用户登录时调用它,以防止“通用”会话修复攻击(1,2)无法工作。
PHPSESSID=
参数他发送到用户,设置(“行了吧”)浏览器的会话ID到一个已知的值。或者他可以从其他子域中设置会话cookie(例如,通过上传带有嵌入式JavaScript的HTML文件来实现)。调用session_regenerate_id()
可防止步骤3成功,因为攻击者在该点不再知道会话ID。
此外,由于子域可以为父域(也发送给其他子域)设置cookie,因此建议您将任何不受信任的内容托管在众所周知的TLD(如.com
)中完全独立的域名上, .net
或.org
。浏览器包含防止为这些TLD设置Cookie的黑名单(例如Public Suffix List)。
例如,exampleusercontent.com
上的内容无法设置将发送到example.com
的Cookie。
为什么要首先更改会话标识符或手动删除会话? PHP自己处理这个就好了... – 2011-02-08 04:24:29