【问题标题】:Symfony: render _csrf_token field with sfFormSymfony:使用 sfForm 渲染 _csrf_token 字段
【发布时间】:2011-11-02 22:14:18
【问题描述】:

我有一个 sfForm 表单 myForm,其中嵌入了另一个对象表单。

我在模板中这样打印:

<?php echo $myForm; ?>

据我所知,它应该默认打印隐藏字段,但它只打印id隐藏字段,而不是_csrf_token,这是为什么呢?

如果我尝试使用echo $myForm['_csrf_token']; 打印它,它会很好地打印该字段。

如果我使用echo $myForm-&gt;renderHiddenFields();,它会第二次打印_csrf_token 字段以及id 隐藏字段..

myForm 我试过enableLocalCSRFProtection() 还是不行。

知道如何让myForm 默认呈现_csrf_token 字段吗?

【问题讨论】:

  • 你在 settings.yml 中设置了 csrf_secret 值吗? symfony-project.org/reference/1_4/en/…
  • 是的。当我使用我的学说形式时,它工作得很好.. 只有 sfForm 让我很难过
  • 除非有人在 SfFormSymfony 类周围被黑,否则我认为这是因为您嵌入了表单。也许尝试一个没有嵌入的表格,看看这是否确实是原因。抱歉,我不能提供更多帮助。
  • 好的,谢谢!确实是嵌入形式导致了问题!我有一个自定义 SchemaFormatter 忽略嵌入表单的标签(因为它在打印时很难看)但我搞砸了隐藏字段的打印......所以现在没关系,谢谢! :)(把它写成asnwer,我会接受的)

标签: symfony1 field token csrf


【解决方案1】:

(占位符答案,根据上面的 cmets)

“确实是嵌入表单导致了问题!我有一个自定义 SchemaFormatter,它忽略了嵌入表单的标签(因为它在打印时很难看)但我搞砸了隐藏字段的打印”

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-08-11
    • 2011-10-24
    • 2014-06-09
    • 2011-09-03
    相关资源
    最近更新 更多