参考答案
说明:
- i)嵌入第三方 iframe 会有很多不可控的问题,同时当第三方 iframe 出现问题或是被劫持之后,也会诱发安全性问题
- ii)点击劫持攻击者将目标网站通过 iframe 嵌套的方式嵌入自己的网页中,并将 iframe 设置为透明,诱导用户点击。
- iii)禁止自己的 iframe 中的链接外部网站的JS
- 预防方案:
- i)为 iframe 设置 sandbox 属性,通过它可以对iframe的行为进行各种限制,充分实现“最小权限“原则
ii)服务端设置 X-Frame-Options Header头,拒绝页面被嵌套,X-Frame-Options 是HTTP 响应头中用来告诉浏览器一个页面是否可以嵌入 <iframe> 中eg.
X-Frame-Options: SAMEORIGIN
- SAMEORIGIN: iframe 页面的地址只能为同源域名下的页面
- ALLOW-FROM: 可以嵌套在指定来源的 iframe 里
- DENY: 当前页面不能被嵌套在 iframe 里
- iii)设置 CSP 即 Content-Security-Policy 请求头
- iv)减少对 iframe 的使用
正文结束
Ctrl + Enter