如何从iPhone应用程序向Django后端进行身份验证和请求,以绕过CSRF?

如何从iPhone应用程序向Django后端进行身份验证和请求,以绕过CSRF?,iphone,django,authentication,post,django-csrf,Iphone,Django,Authentication,Post,Django Csrf,我和一个没有任何Django经验的iPhone开发人员一起工作,我对Django比较陌生。我已经构建了一个现有的Django应用程序,它有一个web界面,允许用户登录并将我们数据库中的书籍添加到他的个人图书馆 我们正在尝试构建一个iPhone应用程序,允许用户进行身份验证并访问库,我想知道进行身份验证然后请求用户库的最佳方式是什么。我们一开始使用HTTP POST请求向Django应用程序发送凭据,但我认识的另一位Django开发人员告诉我,这将是一个跨域请求,从Django 1.2开始就不起作

我和一个没有任何Django经验的iPhone开发人员一起工作,我对Django比较陌生。我已经构建了一个现有的Django应用程序,它有一个web界面,允许用户登录并将我们数据库中的书籍添加到他的个人图书馆

我们正在尝试构建一个iPhone应用程序,允许用户进行身份验证并访问库,我想知道进行身份验证然后请求用户库的最佳方式是什么。我们一开始使用HTTP POST请求向Django应用程序发送凭据,但我认识的另一位Django开发人员告诉我,这将是一个跨域请求,从Django 1.2开始就不起作用


如果我不能进行跨域HTTP POST请求,我应该如何将iPhone应用程序中的数据发布到Django应用程序中?

来自iPhone应用程序的HTTP请求不是跨域的

只需使用csrf\u decorator即可


是的,使用POST请求类型,这是向服务器发送数据时唯一的逻辑选择。根据RESTful API指南:

您可以解决CSRF问题。在django 1.4中 只是在功能前面使用装饰

Solution:
  @csrf_exempt
  def PostData(requst):
    pass

你是在问这个吗?对我找到了这篇文章,但我想我真正想知道的是,使用iPhone应用程序的常规POST请求将数据发送回Django应用程序是否“错误”。不是吗?那么,iphone应用程序将来自哪个域?如果只针对登录视图进行此操作,是否存在实际的黑客攻击风险?这是显而易见的快速解决方法。。。但CSRF的存在是有原因的。只是禁用它。。?是的,CSRF是用来防止跨站点请求伪造的,但是不管你做什么,使用你的API的人永远不会在同一个域上。