一周学会Flask3PythonWeb开发-客户端状态信息Cookie以及加密
- 创业
- 2025-08-21 19:51:01

锋哥原创的Flask3 Python Web开发 Flask3视频教程:
2025版 Flask3 Python web开发 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili
HTTP是无状态(stateless)协议。也就是说,在一次请求响应结束后,服务器不会留下任何关于对方状态的信息。但是对于某些Web程序来说,客户端的某些信息又必须被记住,比如用户的登录状态,这样才可以根据用户的状态来返回不同的响应。为了解决这类问题,就有了Cookie技术。Cookie技术通过在请求和响应报文中添加Cookie数据来保存客户端的状态信息。Cookie其实就是保存在客户端浏览器上的小型文本数据。
我们通过响应对象response的set_cookie()方法来实现添加cookie。set_cookie()方法的参数
属性说明keycookie的键(名称)valuecookie的值max_agecookie被保存的时间数,单位为秒;默认在用户会话结束(即关闭浏览器)时过期expires具体的过期时间,一个datetime对象或UNIX时间戳path限制cookie只在给定的路径可用,默认为整个域名domain设置cookie可用的域名secure如果设为True,只有通过HTTPS 才可以使用httponly如果设为True,禁止客户端JavaScript获取cookie示例:
@app.route('/cookie') def set_cookie(): response = make_response() response.set_cookie('username', 'jack') return response那如何获取浏览器客户端里的cookie呢?
我们可以通过请求对象request的cookies属性对象的get()方法获取
@app.route('/getcookie') def get_cookie(): return request.cookies.get('username')但是我们发现会发现个问题,用明文存储在客户端浏览器数据,很容易被窃取泄露数据。不安全。
所以我们有必要对数据进行加密。flask提供了会员对象session来实现cookie加密。
首先我们设置秘钥,随机串即可,越复杂越安全。
# 设置秘钥 app.secret_key = 'ljfda32@2334_ss'然后直接用session对象存cookie
@app.route('/cookie') def set_cookie(): # response = make_response() # response.set_cookie('username', 'jack') session['password'] = 123456 return 'ok'获取cookie代码实例:
@app.route('/getcookie2') def get_cookie2(): print('username:', session['password']) return 'ok'一周学会Flask3PythonWeb开发-客户端状态信息Cookie以及加密由讯客互联创业栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“一周学会Flask3PythonWeb开发-客户端状态信息Cookie以及加密”