任何人都可以解释一下php.ini配置中的use_strict_mode负责吗?在文档中,它告诉我以下内容:
session.use_strict_mode指定模块是否将使用严格的会话ID模式.如果启用此模式,则模块不接受未初始化的会话ID.如果从浏览器发送未初始化的会话ID,则会向浏览器发送新的会话ID.通过严格模式的会话采用保护应用程序免受会话固定.默认为0(禁用).
我的基本理解是它总是为你创建一个会话ID,但我已经看到了另一个配置选项.所以我认为我的理解是错误的.那么我们为什么需要呢?(我最接近的是它阻止了OWASP A9,但它并没有给我很多信息).
hak*_*kre 15
不,这不是会话自动启动.
这就是说,如果有人创建会话ID并将其发送到您的服务器,并且PHP意识到目前为止没有具有该ID的会话(当启用严格模式时),PHP将创建一个新的,不同的会话ID并初始化对于新会话的会话而不是(当严格模式关闭时)会话ID的用户注入值.
PHP维基中的RFC中概述了更详细的介绍以及PHP中严格会话ID处理的动机:请求注释:严格会话.
因此,在关闭严格模式的情况下,用户可以决定她想要使用哪个会话ID.
使用严格模式,用户无法决定.
因此,当您不希望允许用户预先定义会话ID值时,您需要它.您通常希望防止这种情况减少攻击面.
归档时间: |
|
查看次数: |
9020 次 |
最近记录: |