我正在用 Django 编写一个应用程序,它使用户能够从我的网站嵌入视频。我给用户 iFrame 代码来嵌入视频。我发现这是不允许的。尝试这样做时,控制台显示以下错误:
X-Frame-Options 拒绝加载:http://blah.com/embed/110/不允许跨域框架。
经过大量研究,我发现了发生了什么。我的问题是:有谁知道像 Youtube 和 Vimeo 这样的服务是如何解决这个问题的?
最佳答案
有一个特殊的标题来允许或禁止在 i-frame 内显示页面 - X-Frame-Options
它用于防止称为点击劫持的攻击。您可以查看有关它的 Django 文档 https://docs.djangoproject.com/en/dev/ref/clickjacking/
希望其内容显示在 i-frame 中的站点只是不设置此标题。
我认为在您安装 Django 时,默认情况下会启用此保护。如果您不想允许将您的内容嵌入到 i-frames 中,您可以在整个站点的设置中禁用点击劫持保护,或者使用 django.views.decorators.clickjacking
使用每个 View 控件。装饰器:
xframe_options_exempt
xframe_options_deny
xframe_options_sameorigin
按 View 控制是更好的选择。
关于django - 允许其他人嵌入我的视频 : Load Denied By X-Frame-Options,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20388173/