我有一个Flask应用程序在后端运行作为API,前端用HTML和jQuery编写(不是作为Jinja模板)。我正在尝试找出在应用程序上启用一些CSRF保护的最佳方法,但我发现的所有内容都要求使用带有Jinja表单的Flask-WTF。我真的不想用Jinja重写整个前端,那么最好的方法是什么?
答案 0 :(得分:2)
This here可能接近你要找的东西
对于不使用FlaskForm或发出AJAX请求的视图,请使用提供的CSRF扩展来保护这些请求
<form method="post">
<input type="hidden" name="csrf_token" value="{{ csrf_token() }}"/>
</form>
使用HTML表单中的标记呈现隐藏的输入。
SO CTN QTY WT CBM DATE
----------------------------------------------
CGP3941410 1 77 8.96 0.07 28-Mar-18
CGP3941410 2 133 17.93 0.14 28-Mar-18
CGP3941411 2 123 17.93 0.14 28-Mar-18
CGP3941411 1 58 8.97 0.07 28-Mar-18
CGP3941411 1 2 8.97 0.07 28-Mar-18