我如何从 iPhone 应用程序向 Django 后端进行身份验证并向其发出请求以绕过 CSRF?

发布于 2024-09-13 01:43:00 字数 369 浏览 5 评论 0原文

我正在与一位没有任何 Django 经验的 iPhone 开发人员一起工作,而且我对 Django 还比较陌生。我已经构建了一个带有 Web 界面的现有 Django 应用程序,该应用程序允许用户登录并将书籍从我们的数据库添加到他的个人图书馆。

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

如果我无法执行跨域 HTTP POST 请求,我应该如何将数据从 iPhone 应用程序 POST 到 Django 应用程序?

I'm working with an iPhone developer who does not have any Django experience, and I am relatively new to Django. I've built an existing Django app with a web interface that allows a user to log in and add books from our database to his personal library.

We are trying to build an iPhone application that allows a user to authenticate and the access the library, and I was wondering what is the best way to do the authentication and then request the user's library. We started out using an HTTP POST requests to send credentials to the Django app, but another Django developer I know told me this would be a cross-domain request which would not work starting with Django 1.2.

If I can't do cross-domain HTTP POST requests, how should I POST data from the iPhone app to the Django application?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

牵强ㄟ 2024-09-20 01:43:00

只需使用 csrf_exempt 装饰器即可。 http://docs.djangoproject.com/ en/dev/ref/contrib/csrf/#exceptions

是的,使用 POST 请求类型,这是向服务器发送数据时唯一合理的选择。根据 RESTful API 指南:http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services

Just use the csrf_exempt decorator.http://docs.djangoproject.com/en/dev/ref/contrib/csrf/#exceptions

And yes, use the POST request type, it's the only logical choice when you're sending data to the server. As per RESTful API guidelines: http://en.wikipedia.org/wiki/Representational_State_Transfer#RESTful_web_services

舂唻埖巳落 2024-09-20 01:43:00

您可以解决 CSRF 问题。在 Django 1.4 中
只是在函数前面使用装饰。

Solution:
  @csrf_exempt
  def PostData(requst):
    pass

You can solve CSRF Issue. in django 1.4
Just using decoration at front of function.

Solution:
  @csrf_exempt
  def PostData(requst):
    pass
滥情稳全场 2024-09-20 01:43:00

来自iphone应用程序的http请求不是跨域的

http request from the iphone application is not cross-domain

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文