会话保护
当上述特性保护“记住我”令牌免遭 cookie 窃取时,会话 cookie 仍然是脆弱的。 Flask-Login 包含了会话保护来帮助阻止用户会话被盗用。
你可以在 LoginManager
上和应用配置中配置会话保护。如果它被启用,它可以在 basic
或 strong
两种模式中运行。要在 LoginManager
上设置它,设置 session_protection
属性为 "basic"
或 "strong"
:
login_manager.session_protection = "strong"
或者,禁用它:
login_manager.session_protection = None
默认,它被激活为 "basic"
模式。它可以在应用配置中设定 SESSION_PROTECTION
为 None
、 "basic"
或 "strong"
来禁用。
当启用了会话保护,每个请求,它生成一个用户电脑的标识(基本上是 IP 地址和 User Agent 的 MD5 hash 值)。如果会话不包含相关的标识,则存储生成的。如果存在标识,则匹配生成的,之后请求可用。
在 basic
模式下或会话是永久的,如果该标识未匹配,会话会简单地被标记为非活 跃的,且任何需要活跃登入的东西会强制用户重新验证。(当然,你必须已经使用了活跃登入机制才能奏效。)
在 strong
模式下的非永久会话,如果该标识未匹配,整个会话(记住的令牌如果存在,则同样)被删除。
当前内容版权归 wizardforcel 或其关联方所有,如需对内容或内容相关联开源项目进行关注与资助,请访问 wizardforcel .