如何调试为什么在我的所有浏览器中出现CSRF 令牌无效错误,但是当我使用功能测试测试相同的表单时它可以工作?
问问题
3923 次
4 回答
2
如果您自定义了表单呈现输入的方式,请检查您是否添加了{{form_rest(form) }},如下例所示。
例子
<form action="{{ path('BloggerBlogBundle_contact') }}" method="post" {{ form_enctype(form) }}>
{{ form_errors(form) }}
{{ form_row(form.name) }}
{{ form_row(form.email) }}
{{ form_row(form.subject) }}
{{ form_row(form.body) }}
{{ form_rest(form) }}
<input type="submit" value="Submit" />
</form>
于 2012-05-19T11:50:39.057 回答
2
当我如下评论我的 config.yml 时,一切都开始工作了吗?所以新的问题是:这个配置的注释部分有什么问题?
session:
auto_start: true
# cookie_lifetime: 86400
# cookie_path: \
# cookie_domain: example.com
# cookie_secure: true
# cookie_httponly: true
于 2012-05-22T06:32:53.360 回答
2
对我来说,从 symfony 2.0.16 升级到 2.1.6 后禁用安全 cookie 解决了这个问题:
session:
cookie_lifetime: 3600
cookie_path: \
cookie_domain: .%base_domain%
cookie_secure: false
cookie_httponly: true
于 2013-01-24T11:07:35.533 回答
-5
您可以使用 @csrf_exempt 装饰器来免除您必须导入的 csrf 令牌
从 django.views.decorators.csrf 导入 csrf_exempt
然后在你的视图之前写@csrf_exempt
这将正常工作:)
于 2013-01-18T08:03:45.940 回答