Веб-приложение Django не работает с ошибкой ipad (csrf_token) и IE (CORS)

Извините, я знаю, что это два вопроса в одном, но может быть ресурс, который может решить обе мои проблемы. У меня есть веб-приложение, которое я создал с помощью Django, которое я загружаю в iframe сайта WordPress, который я начал тестировать.

На данный момент он работает так, как задумано, в Google Chrome, моем телефоне Android и iPhone. Однако у меня возникает проблема с токеном CSRF, когда я «ОТПРАВЛЯЮ» из iframe только при использовании ipad.

Я также не могу загрузиться в Internet Explorer, получая ошибку CORS после просмотра документации «django-cors-headers».

У меня есть как X-frame-options, так и белый список Cors, позволяющий сайту размещать iframe.

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


person Adam Laird    schedule 17.07.2019    source источник


Ответы (1)


Вы можете обратиться к этой теме, чтобы проверить, выполнили все шаги использования библиотеки django-cors-headers. Также проверьте версию Django, которую вы используете, библиотека не поддерживает версию Django ‹ 1.11. И в этой теме показано, что CORS_ORIGIN_WHITELIST отлично работает как строка, но не как кортеж. Пожалуйста, подтвердите, что вы использовали правильную форму.

Для ошибки CORS в IE сервер должен прикреплять следующие заголовки ко всем ответам, вы можете проверить это статью для получения дополнительной информации. Вы также можете обратиться к этому блогу который предоставляет другой способ решения проблемы CORS в IE.

Access-Control-Allow-Origin: http://example.com
Access-Control-Allow-Credentials: true
Access-Control-Allow-Methods: ACL, CANCELUPLOAD, CHECKIN, CHECKOUT, COPY, DELETE, GET, HEAD, LOCK, MKCALENDAR, MKCOL, MOVE, OPTIONS, POST, PROPFIND, PROPPATCH, PUT, REPORT, SEARCH, UNCHECKOUT, UNLOCK, UPDATE, VERSION-CONTROL
Access-Control-Allow-Headers: Overwrite, Destination, Content-Type, Depth, User-Agent, Translate, Range, Content-Range, Timeout, X-File-Size, X-Requested-With, If-Modified-Since, X-File-Name, Cache-Control, Location, Lock-Token, If
Access-Control-Expose-Headers: DAV, content-length, Allow
person Yu Zhou    schedule 18.07.2019