gpt4 book ai didi

python - 使用 Flask WTF-Forms 手动生成 CSRF token

转载 作者:太空宇宙 更新时间:2023-11-03 16:23:03 30 4
gpt4 key购买 nike

我想仅使用 python 代码创建并填写 Flask WTF-Form。但是,当我使用 python 代码创建表单时,该表单不会自动生成 CSRF token 。有什么办法可以手动执行此操作吗?

相关表格:

from flask_wtf import Form
from wtforms import StringField
from wtforms.validators import DataRequired, URL

class URLForm(Form):
url = StringField('url', validators=[DataRequired(), URL(), Level3Url()])

我用来生成表单的代码:

from forms import URLForm
form = URLForm()
if 'url' in request.args:
url = request.args.get('url')
form.url.data = url
if form.validate():
...

最佳答案

您可以通过在本地生成 token 并将其传递到表单来有效禁用 CSRF 保护。仅当用户提交之前生成的 token 时才有效。

由于您没有使用 CSRF 保护,因此请将其禁用。您还可以传递 request.args 作为数据源。

form = URLForm(request.args, csrf_enabled=False)

如果您想在该表单中使用 CSRF,则表单需要发送 csrf_token 字段,该字段可以使用 {{ form.csrf_token }}{{ form.hidden_​​tag() }}

关于python - 使用 Flask WTF-Forms 手动生成 CSRF token ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38231010/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com