允许其他人嵌入我的视频:X-Frame-Options拒绝加载

时间:2013-12-04 23:18:14

标签: django x-frame-options

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

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

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

1 个答案:

答案 0 :(得分:14)

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

希望其内容以i-frame显示的网站不会设置此标头。

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

  • xframe_options_exempt
  • xframe_options_deny
  • xframe_options_sameorigin

每个视图控件是更好的选择。