使用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里面的值和表单(或者请求头)里面的值进行对比