📜  cookie 点击 (1)

📅  最后修改于: 2023-12-03 14:40:12.932000             🧑  作者: Mango

Cookie 点击

什么是 Cookie

Cookie 是存储在用户计算机上的小文本文件,存储了与某个网站相关的用户信息。每当浏览器向服务器发送请求时,它会通过 HTTP 报头发送 Cookie。常用语存储用户会话状态,例如登录状态,购物车信息等。

Cookie 的使用
设置 Cookie
from flask import make_response

response = make_response('Hello World!')
response.set_cookie('username', 'Alice')

在 Flask 中,可以使用 make_response 函数创建一个包含 HTTP 响应的对象。然后使用 set_cookie 方法设置 Cookie 的键和值。

读取 Cookie
from flask import request

username = request.cookies.get('username')

在 Flask 中,可以使用 request 对象读取 Cookie 值。cookies 属性返回一个字典,包含了所有的 Cookie 键值对。可以使用 get 方法读取指定的 Cookie 值。

删除 Cookie
from flask import make_response

response = make_response('Hello World!')
response.delete_cookie('username')

在 Flask 中,可以使用 delete_cookie 方法删除指定的 Cookie。

安全性

Cookie 是携带敏感信息的,如:用户登录状态、个人信息等,因此需要注意安全性。

HttpOnly

HttpOnly 告诉浏览器不允许使用 JavaScript 访问 Cookie,从而增加了 Cookie 的安全性。

from flask import make_response

response = make_response('Hello World!')
response.set_cookie('username', 'Alice', httponly=True)

在 Flask 中,可以设置 httvponly 参数来对 Cookie 进行保护。

Secure

Secure 告诉浏览器只有在 HTTPS 连接的情况下才发送 Cookie,避免了 Cookie 被截获窃取。

from flask import make_response

response = make_response('Hello World!')
response.set_cookie('username', 'Alice', secure=True)

在 Flask 中,可以设置 secure 参数来对 Cookie 进行保护。

SameSite

SameSite 告诉浏览器只有访问与当前网页同站点的时候才发送 Cookie,从而避免跨站点攻击。

from flask import make_response

response = make_response('Hello World!')
response.set_cookie('username', 'Alice', samesite='Lax')

在 Flask 中,可以设置 samesite 参数来对 Cookie 进行保护。

总结

Cookie 可以存储用户状态信息,但需要注意保护隐私和安全。在 Flask 中,可以使用 make_responserequest 对象来对 Cookie 进行操作。还可以使用 HttpOnly、Secure、SameSite 等参数来提高 Cookie 的安全性。