想要解决问题,就得先了解它
由于我们此项目采用的是工厂模式创建的app,所以我们需要了解什么是CSRF
CSRF
CSRF全拼为Cross Site Request Forgery,译为跨站请求伪造。
CSRF指攻击者盗用了你的身份,以你的名义发送恶意请求。
包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账…
造成的问题:个人隐私泄露以及财产安全。
如需了解更多,请点击 更多详情
代码实现
进入info目录的init.py,找到create_app方法,并添加如下代码
@app.after_request
def set_csrf(response):
"""
设置csrftoken的值
:return:
"""
csrf_token = generate_csrf()
response.set_cookie("csrf_token",csrf_token)
# print(1111)
return response
main.js,找到请求方法为‘post’的,并添加如下代码
headers: {'X-CSRFToken': getCookie('csrf_token')}, // 在请求头中带上csrf_token
注:
@app.after_request :在响应(response)之前做出响应