0

すべてのブラウザでCSRFトークンが無効なエラーである理由をデバッグするにはどうすればよいですか?機能テストで同じフォームをテストすると機能しますか?

4

4 に答える 4

2

フォームが入力をレンダリングする方法をカスタマイズした場合は、次の例のように {{form_rest(form)}}を追加したかどうかを確認してください。

<form action="{{ path('BloggerBlogBundle_contact') }}" method="post" {{ form_enctype(form) }}>
    {{ form_errors(form) }}

    {{ form_row(form.name) }}
    {{ form_row(form.email) }}
    {{ form_row(form.subject) }}
    {{ form_row(form.body) }}

    {{ form_rest(form) }}

    <input type="submit" value="Submit" />
</form>
于 2012-05-19T11:50:39.057 に答える
2

config.ymlに以下のようにコメントすると、すべてが機能し始めましたか?したがって、新しい質問は次のとおりです。この構成のコメント部分の何が問題になっていますか?

session:
    auto_start:     true
    # cookie_lifetime:   86400
    # cookie_path:       \
    # cookie_domain:     example.com
    # cookie_secure:     true
    # cookie_httponly:   true
于 2012-05-22T06:32:53.360 に答える
2

私にとって、セキュアクッキーを無効にすると、symfony 2.0.16から2.1.6にアップグレードした後、この問題が解決しました。

session:
    cookie_lifetime:   3600
    cookie_path:       \
    cookie_domain:     .%base_domain%
    cookie_secure:     false
    cookie_httponly:   true
于 2013-01-24T11:07:35.533 に答える
-5

@csrf_exemptデコレータを使用して、インポートする必要があるこのためのcsrfトークンを除外できます。

django.views.decorators.csrfからインポートcsrf_exempt

次に、ビューの前に@csrf_exemptと書き込みます

これは正しく動作します:)

于 2013-01-18T08:03:45.940 に答える