Flask项目实现防止CSRF攻击的流程及实现原理

2018-10-26  本文已影响0人  YJ的笔记

使用flask_wtf 中 CSRFProtect类,初始化该类并传入app

使用 flask_wtf.csrf模块中的generate_csrf方法生成csrf_token

使用请求勾子 after_request,取到响应,统一设置到cookie中

如果直接使用Flask-WTF,默认已开启上面几步

如果前端使用form表单提交,需要在表单中添加隐藏的input,并设置其value值为: {{ csrf_token() }}

如果前端使用ajax的方式提交,则在header中添加X-CSRFToken并设置相关值(值从cookie中取)

CSRFProtect的实现原理是:使用请求勾子,before_request的时候去取到cookie里面的值和表单(或者请求头)里面的值进行对比

上一篇 下一篇

猜你喜欢

热点阅读