0

在 Django 1.1.1 下,我使用了多个身份验证后端,例如用于 facebook connect的社交注册和用于基于电子邮件的身份验证的django-emailauth,而不是用户名。

我很好奇 Csrf 中间件是否是一项重要的安全措施,因为它似乎有时会产生问题,尤其是在使用 facebook connect 时。

我的项目相当简单。每个用户都有一个他们可以填写的个人资料和一个购买页面,他们可以在其中填写付款以进行购买。这些页面中的任何一个都受保护@login_required

4

1 回答 1

1

好吧,它可以保护您的网站免受已经登录但被(在他们的浏览器中)愚弄的用户。最好是打开它。login_required 在这里无关紧要。

至于问题,是的,它可能会导致一些问题。有两种修复方法:

  1. 如果您执行 ajax 请求,django 足够聪明,可以关闭基于 HTTP 标头的保护,基本上来自任何 ajax 库的任何请求都应该通过。

  2. 在标题无法帮助您的情况下,将csrf_exempt装饰器放在您的视图上。

底线:在您的金钱视图上使用 csrf 并为 facebook 等禁用它。

于 2010-03-08T09:23:01.130 回答