0

抱歉,我知道这是一个 2 个问题,但可能有一个资源可以解决我的两个问题。我有一个用 Django 创建的 web 应用程序,我正在将它加载到我已经开始测试的 wordpress 网站的 iframe 中。

目前,它可以在 google chrome、我的 android 手机和 iphone 上正常工作。但是,当我仅在使用 ipad 时从 iframe 'POST' 时,我遇到了 CSRF 令牌问题。

在浏览“django-cors-headers”文档后,我也无法加载 Internet Explorer,出现 CORS 错误。

我有 X-frame-options 和 Cors 白名单,允许网站托管 iframe。

我不知道为什么该应用程序可以在几个设置中正常工作而在其他设置中不能正常工作 - 或者错误可能只是由于我正在测试的设备上的个性化设置。如果有人能以任何方式提供帮助,将不胜感激!

4

1 回答 1

0

您可以参考这个线程,检查您是否遵循了使用 django-cors-headers 库的所有步骤。另请检查您使用的 Django 版本,该库不支持 Django 版本 < 1.11。在这个线程中,它表明 CORS_ORIGIN_WHITELIST 可以作为字符串正常工作,但不能作为元组工作。请确认您使用了正确的表格。

对于 IE 中的 CORS 错误,服务器必须将以下标头附加到所有响应中,您可以查看本文以获取更多信息。你也可以参考这个博客,它提供了另一种在 IE 中处理 CORS 问题的方法。

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
于 2019-07-18T05:43:01.863 回答