皆さん、こんにちは。ビジネス上の必要性から、実際のフォーム送信ではなく、curl シミュレーション フォームを使用していますが、システム ログに認証が成功したことが示されている場合、エラー ログは次のとおりです。 リーリー
シミュレーションコードは次のとおりです:
ただし、フォーム送信結果は正しいですが、curl シミュレーションは正しくありません。ログの最後でトークンが取得されず、logintest に直接戻っていることがわかります。
私の質問は、curl シミュレーションと実際のフォーム送信の違いは何ですか? さらに、symfony は送信時間をどのように監視するのでしょうか?解決策を探している皆さん、ありがとう。
Symfony では、フォームが不正な送信を防ぐために、 CSRF TOKEN (デフォルト名は _token) の隠しフィールドを自動的に追加します。そのため、フォームが送信されると、システムは最初に _token の有効性を検出します。 CURL の場合、_token を手動で追加し、CSRF トークンを手動で生成する必要があります: リーリー
CSRFトークンを生成し、以下を行います:リーリー
フォームの送信時に CSRF が有効かどうかを確認します:リーリー
または、configureOptions で直接 CSRF を無効にすることもできます:リーリー