如何阻止网站加载iframe?

Ris*_*mar 17 html javascript youtube iframe jquery

最近我试图在iframe中加载youtube网站,但我检查它不起作用.我用这个简单的代码.

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

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

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

Kri*_*h R 30

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

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

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

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

  <meta http-equiv="X-Frame-Options" content="deny">
Run Code Online (Sandbox Code Playgroud)

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

DENY - 无论网站是否尝试这样做,页面都无法在框架中显示.

SAMEORIGIN - 页面只能显示在与页面本身相同的原点的框架中.

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

  • 注意:截至2016年4月,此元标记在大多数浏览器中不再有效.RFC 7034建议忽略此元标记:https://tools.ietf.org/html/rfc7034#section-4.大多数主流浏览器都相应地删 请参阅https://bugs.webkit.org/show_bug.cgi?id=156625 (5认同)

mwo*_*man 19

截至2016年4月,Krish R接受的答案不再适用. 大多数浏览器现在忽略RFC 7034建议的元标记.

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