flask项目之4:csrf验证与相关防护措施

CSRF验证:http://blog.csdn.net/wireless911/article/details/81589202
http://cnblogs.com/hyddd/archive/2009/04/09/1432744.html
CSRF(Cross-site request forgery),中文名称:跨站请求伪造,攻击者盗用了你的身份,以你的名义发送恶意请求,做的事情包括:以你的名义发送邮件,消息,盗取你的账号甚至购买商品转账等等,造成的问题包括个人隐私泄露和财产安全。
在这里插入图片描述
满足一下条件,则可能被进行CSRF攻击:
1.登录受信任的网站A,并且产生了本地cookie
2.在不登出A的情况下,访问了危险网站B

从cookie中获取csrf_token的值
从请求体中获取csrf_token的值
如果两者相同就可以继续进行,异常就不进行验证

同源策略:
同源的网站才可以操作资源,读取不到cookie
做了一定的验证 验证cookie和body中的token是不是一样的,再者就是不同源的网站之间不可以相互操作资源,也就是不同源的网站间不能读取到其cookie值
该部分的实现是在代码的web_html,进行静态资源路由设置的文件内使用的,
涉及的import:

from flask import make_response
from flask_wtf import csrf

在get_html函数内加入:

csrf_token = csrf.generate_csrf()

response = make_response(current_app.send_static_file(html_file_name))

response.set_cookie('csrf_token', csrf_token)

return response

操作:
运行manage.py, 打开相应url:
使用ctrl+r进行刷新,
在这里插入图片描述
点击此处可以看到存在两个cookie,

在这里插入图片描述

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值