关于iframe:iframe嵌套页面以及风险

40次阅读

共计 947 个字符,预计需要花费 3 分钟才能阅读完成。

iframe能够帮忙咱们在一个网页中嵌套另一个网页(比方:jquery 我的项目中嵌套 react 页面),它的用法咱们以理论例子阐明:

在本地写了一个 index.html,应用 http-server 启动服务:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<body>
  <iframe src="http://47.111.228.207:8080/#/pageA" frameborder="0" width="100%" height="1000" scrolling="no"></iframe>
</body>
</html>

在 index.html 中咱们嵌套了一个 iframe,指向我之前部署在服务器上的 react 页面(http://47.111.228.207:8080/#/pageA)

当初浏览器关上 http://localhost:8080/

能够看到曾经胜利的将 react 页面嵌套进去了。

然而,问题也进去了,http://47.111.228.207:8080/#/pageA 这个页面能够被任意的劫持应用,如果被钓鱼网站应用,植入一些小广告或者其余的,那么这些危险都会影响咱们网站的性能以及安全性。

那么,如何去躲避这些危险呢?

常见形式是在 apache 或者 tomcat 服务器上配置 X-Frame-Options 响应头

X-Frame-Options
是为了缩小点击劫持(Clickjacking)而引入的一个响应头,这个响应头反对三种配置:

  • DENY:不容许被任何页面嵌入;
  • SAMEORIGIN:不容许被本域以外的页面嵌入;
  • ALLOW-FROM uri:不容许被指定的域名以外的页面嵌入(Chrome 现阶段不反对);

咱们来试试如何在 tomcat 配置响应头:

参考:
https://www.pianshen.com/arti…
https://www.cnblogs.com/wdnnc…
https://developer.mozilla.org…

正文完
 0