Flask[携行]
七月 07, 2023
flask 设置cookie过期时间
如果不设置cookie的过期时间,则默认关闭浏览器时cookie过期。
flask设置过期时间,遵循下面的三条规则:
- max_age: 规定多少秒以后过期
- expires:datatime类型,使用此参数,需参照格林尼治时间,即北京时间-8个小时
- 如果max_age和expires都设置,则以max_age为主
设置了cookie过期时间,即便浏览器都关闭了,只要没有cookie还在有效期内,再次打开浏览器,cookie依然有效。
如果超过了cookie的过期时间,即便浏览器没有关闭,cookie也会失效。
只要设置了cookie的过期时间,是否失效就已经和浏览器是否关闭无关。
1. 通过max_age设置cookie有效期
1 | from flask import Flask, make_response, request |
设置了cookie的过期时间是60秒,那么一分钟以后,再次访问时,页面里显示的内容就是hello world, 服务以为我是第一次来,原因是cookie已经失效,能够记录我第一次来访问的信息已经不存在了。
2. 通过expires 设置过期时间
1 | from flask import Flask, make_response, request |
我设置cookie的过期时间是9月7日的18点,但通过浏览器查看cookie信息,显示过期时间是9月8日的凌晨2点,相差了8个小时,这是因为浏览器里会主动加8个小时,想要和我们的北京时间保持一致,在设置的时候就要减去8个小时。
1 | expires_time = datetime(year=2021, month=9, day=7, hour=10) |
现在的cookie过期时间是9月7日下午18点。
查看评论