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


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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容