gpt4 book ai didi

python - 如何使用 Flask 验证 cookie 完整性?

转载 作者:太空宇宙 更新时间:2023-11-03 19:17:50 27 4
gpt4 key购买 nike

使用 Flask,我试图验证 cookie 没有被篡改。现在,如果我更改 cookie 值,它只会抛出一个错误,但我想检查代码 is_valid(session['user_id']) 并重定向/重置(如果不是)。

#pocoo 中的某人说:

  • actually, you could call SecureCookie.unserialize and catch the exception
  • ah, it fails silently
  • looks like you have to try unserializing it and check if you get an empty object from it

谁能进一步解释一下这段代码是什么样的?

最佳答案

看看https://github.com/mitsuhiko/werkzeug/blob/master/werkzeug/contrib/securecookie.py#L265

safe_str_cmp(client_hash, mac.digest()) 正在执行检查,如果 cookie 被篡改,该检查将失败。

根据您确切想要捕获的内容,您可以在不同的位置跳入。你可以这样做

data = request.cookies.get("session")
cookie = werkzeug.contrib.securecookie.SecureCookie.unserialize(data, secret_key)

如果有datacookie不包含任何数据,则反序列化失败。众多原因之一是 safe_str_cmp()(在 unserialize() 中调用)返回 False。

关于python - 如何使用 Flask 验证 cookie 完整性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10757392/

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