私は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
フィールドはデフォルトで有効になっていますか?
settings.ymlにcsrf_secretの値が設定されていますか? http://www.symfony-project.org/reference/1_4/en/04-Settings#chapter_04_sub_csrf_secret – Tom
はい。私の教義のフォームを使用するとうまくいきます。誰かがSfFormSymfonyクラスをハッキングしない限り、sfFormだけが苦労して – tamir
、あなたのフォームを埋め込んでいると思います。たぶん埋め込みのないフォームを試してみて、それが本当に原因であるかどうかを確認してください。申し訳ありませんが、私はより役に立たないことができます。 – Tom