Как бы я прошел аутентификацию и отправлял запросы из приложения iPhone на серверную часть Django, чтобы обойти CSRF? - PullRequest
3 голосов
/ 05 августа 2010

Я работаю с разработчиком iPhone, у которого нет опыта работы с Django, и я относительно новичок в Django. Я создал существующее приложение Django с веб-интерфейсом, который позволяет пользователю входить в систему и добавлять книги из нашей базы данных в свою личную библиотеку.

Мы пытаемся создать приложение для iPhone, которое позволяет пользователю выполнять аутентификацию и доступ к библиотеке, и мне было интересно, как лучше всего выполнить аутентификацию, а затем запросить библиотеку пользователя. Мы начали использовать HTTP-запросы POST для отправки учетных данных в приложение Django, но другой известный мне разработчик Django сказал мне, что это будет междоменный запрос, который не будет работать, начиная с Django 1.2.

Если я не могу выполнять междоменные HTTP-запросы POST, как я должен POST-данные из приложения iPhone в приложение Django?

Ответы [ 3 ]

5 голосов
/ 06 августа 2010

Просто используйте декоратор 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

1 голос
/ 12 октября 2012

Вы можете решить проблему CSRF.в django 1.4. Просто используя украшение в начале функции.

Solution:
  @csrf_exempt
  def PostData(requst):
    pass
0 голосов
/ 05 августа 2010

http-запрос из приложения iphone не является междоменным

...