gpt4 book ai didi

python - 用户(威胁参与者)可以更改 Flask session 数据吗?

转载 作者:行者123 更新时间:2023-12-01 00:32:47 25 4
gpt4 key购买 nike

watched a video一个人解码 Flask session 并访问数据,我认为之前已经说过不要在 session 中存储 secret ,但是如果我想存储一个角色怎么办,比如 "admin": False授予对前端管理按钮的 UI 访问权限

{% if session.admin %}
<button>Delete website</button>
{% endif %}

用户是否能够更改 session 数据并覆盖服务器设置?

"admin": True # uh oh

最佳答案

尽管任何知道如何解码 Base64 的人都可以看到 Flask session 内容,但用户不能通过设置所需值并将其放回 session 中的 Base64 编码来简单地修改其内容,因为您可以在 https://youtu.be/mhcnBTDLxCI?t=339 处听到完整性签名。

签名本身是根据 session 内容和应用程序 secret 生成的,仅在服务器端可见。因此,用户将无法成功篡改 session 内容,因为他不知道应用程序设置中 SECRET_KEY 中设置的 key 。

所以回答你的问题:你可以在 session 中存储这样的管理标志,只要你的 key 足够随机 Flask session doc 并且不透露给任何人,它不会对安全构成威胁。

关于python - 用户(威胁参与者)可以更改 Flask session 数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58046070/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com