- ベストアンサー
symfonyでCSRFがうまく動かない
- symfony1.4にてフォーム作成中に、csfrの必須エラーが発生する問題があります。
- バリデーションは正しく動作しており、他のバリデーションには問題がないようです。
- フォームのhiddenフィールドに値が入らず、原因がわかりません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
もう解決済かもしれませんが actions.class.php にて -------------------------- $this->form->getCSRFToken(); -------------------------- とすると解決するみたいです。 私の場合は、即反映しなかったのでキャッシュクリアかなにか必要かもですが。 本件で解決できました。 ------------------------------------------------- in my case i solved it adding: $this->form->getCSRFToken(); //in my action.class function <?php echo $form['_csrf_token']->render(); ?> //in my template --------------------------------------------------
その他の回答 (1)
- hogehoge78
- ベストアンサー率80% (433/539)
symfonyはきちんと使ったことがないんですが、 少し調べてみたところ、下記のような記事がありました。 http://blog.asial.co.jp/604 config/settings.ymlファイル当たりに、 all: .settings: csrf_secret: myUniqueSecret といった記述を書く必要があるようですが、いかがですか。
お礼
ご回答ありがとうございます。 > onfig/settings.ymlファイル当たりに、 > all: > .settings: > csrf_secret: myUniqueSecret こちらは設定してあります。 設定していないと <input type="hidden" name="club[_csrf_token]" id="club__csrf_token" /> のhiddenのタグも生成されないのですが、 私の場合はhiddenタグは生成されるのですが value値に値が設定されないという現象で悩んでおります。 宜しくお願い致します。
お礼
ご指摘の通り行ったところ、うまくいきました! とても困っていたので大変助かりました。 ありがとうございました!