如何阻止网站在 iframe 中加载?

IT技术 javascript jquery html iframe youtube
2021-03-15 07:24:50

最近我试图在 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 中添加我的网站。

2个回答

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

您可以在标题中查看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 - 页面只能显示在指定原点的框架中。

所以没有办法在 iframe 中使用网页,因为我看到一些网站和软件..他们使用嵌入 youtube 网页,所以如果他们可以使用 youtube 类型的 bigwebsite ..所以可能是这个技术有漏洞..或者是这个完美的.. ?
2021-04-23 07:24:50
注意:截至 2016 年 4 月,此元标记不再适用于大多数浏览器。RFC 7034 建议忽略此元标记:tools.ietf.org/html/rfc7034#section-4大多数主要浏览器相应地删除了支持。参见bugs.webkit.org/show_bug.cgi?id=156625
2021-04-26 07:24:50
澄清一下,HTML 元标记现在确实没用(请参阅developer.mozilla.org/en-US/docs/Web/HTTP/Headers/...),但X-Frame-OptionsHTTP 标头仍然适用并且是正确的方法。
2021-04-29 07:24:50

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

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