Laravel为什么要为每个请求更改cookie的值?

问题描述 投票:0回答:1

我知道,用户登录后需要重新生成session_id,以防止会话固定攻击。并且session_id需要是一个随机字符串,以防止被暴力破解。

所以Laravel需要一些东西来加密session_id。

但是为什么Laravel为session_id选择加密而不是哈希?

我检查了Laravel使用AES加密进行会话的文档。

但是,为什么Laravel选择一种加密方法,每次对session_id进行加密后都会产生不同的值?

为session_id生成固定值,然后为该cookie设置固定值的加密方法有什么问题?

为什么每次为新请求更改session_id的cookie值?

php laravel security session cookies
1个回答
0
投票

这个问题不仅与Laravel有关,而且更像Dynamic加密与Static加密,而与语言和框架无关。

动态加密提供了额外的保护,因为对于每个数据传输,不仅加密密钥而且加密系统的配置都会更改。内部加密算法(例如AES-256或国家算法)由外部动态加密算法包装。数据传输完成后,将放弃加密算法,从而无法引入用于检查数据的主密钥。

Cryptanalysi s(代码中断)通常需要使用相同的方法来加密大量数据。由于动态加密不断变化,因此几乎不可能进行密码分析。

Here很好地说明了为什么使用动态加密。

© www.soinside.com 2019 - 2024. All rights reserved.