django:@csrf_exempt是个好主意吗?

时间:2015-10-19 20:45:42

标签: python django

我有一个端点应该像API一样工作:

/reset/<ID>

这将通过ajax / angular从单独的客户端调用(已解决的CORS问题)。

现在,如果我只是在urls.py中发布端点,我会收到错误:

403 Forbidden
CSRF verification failed. Request aborted.

原因很明显。

所以我调查并找到了这个@csrf_exempt装饰器。有了它,它可以工作......但这样做可以吗? 请求不遵循请求 - 响应周期,客户端可以随时发送此重置 - 因此我不知道如何将X-CSRF-Token标头发送给客户端......所以最终它可能会#39 ; s是唯一的出路吗?

1 个答案:

答案 0 :(得分:0)

这取决于您对用户进行身份验证的方式。 CSRF令牌可防止滥用用户或浏览器代理在每次请求时发送的信息,例如包含用户会话ID的cookie。如果您不使用任何此类信息,则可以安全地使用@csrf_exempt