【问题标题】:Allowing Others to Embed My Videos: Load Denied By X-Frame-Options允许其他人嵌入我的视频:X-Frame-Options 拒绝加载
【发布时间】:2013-12-21 16:41:30
【问题描述】:

我正在用 Django 编写一个应用程序,让用户能够从我的网站嵌入视频。我正在为用户提供 iFrame 代码以嵌入视频。我发现这是不允许的。尝试这样做时,控制台显示以下错误:

X-Frame-Options 拒绝加载:http://blah.com/embed/110/ 不允许跨域框架。

经过大量研究,我发现了发生了什么。我的问题是:有人知道像 Youtube 和 Vimeo 这样的服务是如何解决这个问题的吗?

【问题讨论】:

    标签: django x-frame-options


    【解决方案1】:

    有一个特殊的标题允许或禁止在 i-frame 内显示页面 - X-Frame-Options 它用于防止称为 clickjacking 的攻击。你可以查看 Django 的文档https://docs.djangoproject.com/en/dev/ref/clickjacking/

    希望其内容显示在 i-frame 中的网站只是不设置此标头。

    我认为在您安装的 Django 中,默认情况下会启用此保护。如果您不允许将您的内容嵌入到 i-frames 中,您可以在整个网站的设置中禁用点击劫持保护,或者使用带有 django.views.decorators.clickjacking 装饰器的按视图控制:

    • xframe_options_exempt
    • xframe_options_deny
    • xframe_options_sameorigin

    按视图控制是更好的选择。

    【讨论】:

      猜你喜欢
      • 2015-06-04
      • 1970-01-01
      • 2014-11-14
      • 1970-01-01
      • 2018-07-17
      • 2013-02-22
      • 1970-01-01
      • 2013-02-01
      • 1970-01-01
      相关资源
      最近更新 更多