27

最近我试图在 iframe 中加载 youtube 网站,但我检查它没有工作。我使用了这个简单的代码。

<!DOCTYPE html>
<html>
<head>
<title></title>
</head>
<body>
<iframe width="1000px" height="700px" src="http://www.youtube.com" ></iframe>
</body>
</html>
  1. 我想知道,为什么我的网页无法在 iframe 中加载 youtube 网站..

  2. 我使用什么代码在我的网页中加载 youtube 网站。

  3. 我如何在我的网站中使用相同的技术,所以没有人可以在 iframe 中添加我的网站。

4

2 回答 2

44

对于现代浏览器,需要在 Header 中启用X-Frame-Options,x-frame-options 标头可以通过 Web 服务器配置设置来实现。

您可以在 Header 中查看X-Frame-Options,如下图所示, 在此处输入图像描述

参考:https ://www.keycdn.com/blog/x-frame-options/

如果您的浏览器不支持它,那么您将没有点击劫持防御,并且可以使用 HTTP Header Field X-Frame-Options,

  <meta http-equiv="X-Frame-Options" content="deny">

X-Frame-Options 有三个可能的值:

DENY - 页面不能在框架中显示,无论站点是否尝试这样做。

SAMEORIGIN - 页面只能显示在与页面本身同源的框架中。

ALLOW-FROM uri - 页面只能显示在指定原点的框架中。

于 2013-11-07T17:57:14.103 回答
24

截至 2016 年 4 月,Krish R接受的答案不再有效。 大多数浏览器现在忽略RFC 7034推荐的元标记。

实现此标头的正确方法是让服务器将其与文档一起发送。有关详细信息,请参阅有关X-Frame-Options的 mozilla 文档。

于 2016-09-07T16:09:45.467 回答