首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >php中会话的配置设置

php中会话的配置设置
EN

Security用户
提问于 2014-04-24 23:35:35
回答 1查看 1.7K关注 0票数 3

我最近发现了以下配置设置:

  • 使用-严格模式
  • 每个字符的散列位
  • 散列函数

我有些关于他们的问题:

使用-严格模式表示以下

session.use_strict_mode指定模块是否将使用严格的会话id模式。如果启用此模式,则模块不接受未初始化的会话ID。如果从浏览器发送未初始化的会话ID,则将新的会话ID发送到浏览器。通过采用严格的会话模式,保护应用程序不受会话固定。默认为0(禁用)。

我的基本理解是,它总是为您创建一个会话ID,但我已经看到另一个配置选项做了同样的事情。所以我认为我的理解是错误的。那我们为什么需要它?(我最近看到的是它阻止了OWASP A9,但它没有给我提供很多信息)

session.hash_bits_per_character

允许您在将二进制哈希数据转换为可读内容时,定义每个字符中存储了多少位。可能的值是'4‘(0-9,and ),'5’(0-9,and)和'6‘(0-9,and,and,"-",",")。

根据我的理解,这对安全性没有任何帮助,只会告诉您会话可以使用什么字符。数字越大,字符越多,字符串也就越小.那么,为什么不使用6 (而不是默认的4)呢?

Hash-function

这个问题很清楚,但是从可能的职能的大列表来看,哪一个(我假设默认的md5不好)更好呢?

在问这个问题之前,我看了这个回答

EN

回答 1

Security用户

发布于 2014-05-21 04:57:33

session.hash_bits_per_character

这实际上只影响原始会话ID的编码方式。您通常可以将其设置为任何您想要的值。但是,6的值将导致“奇怪的”会话cookie,因为逗号必须进行URL编码。

session.hash_function

如果PHP环境使用弱会话If而没有额外的熵(请参阅session.entropy_filesession.entropy_length),那么通过ID恢复PHP伪随机数生成器的种子。就可能变得可行,并使用它来预测未来的值(第4.2章)。像Whirlpool或SHA-512这样的慢速哈希算法使得这更难,因为找到哈希的原始输入需要更长的时间。但是,这个问题的真正解决方案当然是首先不要使用弱会话ID。

session.use_strict_mode

这被认为是通过不允许攻击者编造自己的会话ID来增加会话固定攻击的难度。有关其背后的想法的更详细描述,请参见相应的RFC

但是,攻击者不必想出自己的ID来执行会话固定攻击。他们可以简单地从应用程序中获得一个有效的ID并使用它。因此,这个特性是相当值得怀疑的。

票数 2
EN
页面原文内容由Security提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://security.stackexchange.com/questions/56592

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档