📅  最后修改于: 2023-12-03 15:14:15.047000             🧑  作者: Mango
Cookie 是一个用于存储用户信息的小型文件,主要用于 web 应用中。当一个用户访问一个网站时,web 服务器通过 HTTP 协议将一个 cookie 发送到用户的浏览器,浏览器将其保存,在下一次访问该网站时,浏览器将这个 cookie 发送给服务器。
Cookie 可以保存在浏览器或者服务器中,可以是会话性 cookies,也可以是持久性 cookies。会话性 cookies 存储在浏览器的内存中,关闭浏览器后被销毁。持久性 cookies 存储在浏览器的硬盘中,过期时间由创建者设定。
Cookie 有很多用途,例如可以用于记住用户的登录状态、跨站点请求伪造等。
一般情况下,设置 cookie 的代码可以写在服务器端的代码中,然后服务器将其发送给浏览器。以下是使用 Python Flask 框架设置 cookie 的例子:
from flask import Flask, make_response
app = Flask(__name__)
@app.route('/')
def index():
resp = make_response('Hello, World!')
resp.set_cookie('username', 'flask')
return resp
在这个例子中,我们使用 Flask 框架创建了一个 Web 应用,并在 /
路径返回了一个字符串。同时,我们使用了 make_response
函数创建了一个 response 对象,并使用 set_cookie
方法设置了一个名为 username
,值为 flask
的 cookie。
在浏览器中,我们可以使用 document.cookie
或者浏览器提供的开发者工具查看当前网页的所有 cookie。
Cookie 可以被用于攻击跨站点请求伪造(CSRF)。攻击者可以伪造一个请求,在其中包含一条需要用户权限的请求并将其发送给目标网站。由于浏览器会自动将 cookie 发送给网站,攻击者就可以利用 cookie 来获得用户的权限。
为了避免这种攻击,可以使用以下一些方法:
Cookie 是一种用于存储用户信息的小型文件,主要用于 web 应用中。通过设置 cookie,我们可以在浏览器和服务器之间传递信息。然而,使用 cookie 也是一项需要谨慎操作的任务,需要注意安全性问题。