1
Pythonコードのみを使用してFlask WTF-Formを作成して記入したいと思います。しかし、フォームはPythonコードで作成すると自動的にCSRFトークンを生成しません。手動でこれを行う方法はありますか?問題のFlask WTF-FormsでCSRFトークンを手動で生成する
形式:
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():
...
csrf保護を無効にしたくない場合はどうすればよいですか?それのようにそれを行う方法はありますか? – Philip
有効なトークンを生成して渡すことで、効果的に無効にすることができます。何かを確保する唯一の方法は、クライアントが以前に生成されたトークンを送信する場合です。 GETリクエストはデータを変更するべきではないため、通常は保護する必要はありません。 – davidism