2011-11-02 10 views
0

私はsfFormフォームmyFormを持っていますが、別のオブジェクトフォームが埋め込まれています。Symfony:sfFormを使って_csrf_tokenフィールドをレンダリング

私はこのようなテンプレートでそれを印刷:、

<?php echo $myForm; ?> 

私の知る限りでは、デフォルトでは非表示のフィールドを印刷することになっていますが、それは唯一のid隠しフィールドを印刷し、そしてない_csrf_token何故ですか?

echo $myForm['_csrf_token'];で印刷しようとすると、フィールドは正常に印刷されます。

私はecho $myForm->renderHiddenFields();を使用している場合、それは_csrf_tokenフィールドを出力しても二度目のid隠しフィールド.. myForm

私はenableLocalCSRFProtection()しようとしましたが、それはまだ動作しませんです。

どのようにすればいいですかmyFormレンダリング_csrf_tokenフィールドはデフォルトで有効になっていますか?

+2

settings.ymlにcsrf_secretの値が設定されていますか? http://www.symfony-project.org/reference/1_4/en/04-Settings#chapter_04_sub_csrf_secret – Tom

+0

はい。私の教義のフォームを使用するとうまくいきます。誰かがSfFormSymfonyクラスをハッキングしない限り、sfFormだけが苦労して – tamir

+0

、あなたのフォームを埋め込んでいると思います。たぶん埋め込みのないフォームを試してみて、それが本当に原因であるかどうかを確認してください。申し訳ありませんが、私はより役に立たないことができます。 – Tom

答えて

0

(プレースホルダの答えは、上記のコメントのとおり)「それは本当に問題を引き起こしていた埋め込み形だった

!私は(印刷するとき、それは醜い原因)埋め込まれたフォームのラベルを無視するカスタムSchemaFormatterを持っていますが、I隠されたフィールドの印刷を混乱させる "

関連する問題