Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/102.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Django和iOS中的CSRF令牌_Ios_Django_Ios6_Tastypie_Django Csrf - Fatal编程技术网

Django和iOS中的CSRF令牌

Django和iOS中的CSRF令牌,ios,django,ios6,tastypie,django-csrf,Ios,Django,Ios6,Tastypie,Django Csrf,所以我想知道在这里该做什么。。。我正在从iOS对我的Django服务器进行POST调用,并且不断收到403错误(无效的CSRF令牌)。我正在考虑实现一个函数,该函数将返回令牌(您需要登录才能访问该函数),然后将令牌添加到我的POST调用中 现在。。。我不明白这样做有什么意义?如果我使用TastyPie并且所需的登录名是APIKey。。。我应该豁免csrf支票吗 为了确保我理解正确。。。是否为每个用户会话生成CSRF?因此,如果我不使用Cookies,CSRF就没有必要了 人们通常如何在iOS上使

所以我想知道在这里该做什么。。。我正在从iOS对我的Django服务器进行POST调用,并且不断收到403错误(无效的CSRF令牌)。我正在考虑实现一个函数,该函数将返回令牌(您需要登录才能访问该函数),然后将令牌添加到我的POST调用中

现在。。。我不明白这样做有什么意义?如果我使用TastyPie并且所需的登录名是APIKey。。。我应该豁免csrf支票吗

为了确保我理解正确。。。是否为每个用户会话生成CSRF?因此,如果我不使用Cookies,CSRF就没有必要了

人们通常如何在iOS上使用Django服务器并进行此类POST呼叫


谢谢

你说得对,在这种情况下,CSRF没有多大意义,因为它的目的是保护用户免受浏览器中的数据篡改


我相信默认情况下,Tastypie会在其视图上禁用CSRF。

你是对的:如果你不使用cookies来管理会话,你就不需要CSRF保护。CSRF工作是因为会话cookie会自动附加到请求中;不支持访问令牌

我个人觉得非常有用。它绝对值得一读,可能会回答你的许多问题

至于tastypie:它允许。如果您允许在tastypie中进行会话身份验证,我建议您研究一种保护用户免受CSRF攻击的方法。对于其他身份验证方案,这似乎没有必要。据我所知,Dmitry关于默认情况下禁用CSRF的tastypie是正确的,这意味着您得到403错误是很奇怪的。也许还有别的事情。尝试将视图包装到@csrf\u中

至于CSRF令牌,它们也被称为与会话无关的nonce。它们应该是永久的,但你可能知道这对饼干来说是不可能的。无论如何,这意味着CSRF cookie会在会话中持续存在