abi*_*son 11 django django-csrf ios tastypie ios6
所以我想知道在这里做什么...我正在从iOS调用我的Django服务器,并且我一直收到403错误(无效的CSRF令牌).我正在考虑实现一个函数,它将返回令牌(您需要登录才能访问该函数),然后将令牌添加到我的POST调用中.
现在......我不明白这样做有什么意义?如果我使用TastyPie并且所需的登录名是APIKey ...我应该免除csrf检查吗?
为了确保我理解正确...是每个用户会话生成的CSRF吗?因此,如果我不使用Cookie,CSRF是不是必要的?
人们通常如何在iOS上使用他们的Django服务器并进行此类POST调用?
谢谢!
Tei*_*man 11
您是对的:如果您不使用cookie来管理会话,则不需要CSRF保护.CSRF之所以有效,是因为会话cookie会自动附加到请求中; 访问令牌不是.
我个人认为这篇文章非常有用.这绝对值得一读,可能会回答你的很多问题.
至于tastypie:它允许SessionAuthentication.如果您允许在tastypie中进行会话身份验证,我建议您研究一种保护您的用户免受CSRF攻击的方法.对于其他认证方案,这似乎没有必要.据我所知,德米特里对于tastypie默认禁用CSRF是正确的,这意味着你得到403错误很奇怪.也许还有其他事情要发生.尝试将视图包装在@csrf_exempt中.
至于CSRF令牌,它们也被称为会话独立的nonce.它们是永久性的,但您可能知道cookie是不可能的.无论如何,这意味着CSRF cookie会在会话中持续存在.