今天在群里看到一个朋友的企业站点的 友链目标站点 被篡改后,点击友链目标站点导致当前页面被劫持了的问题,然后在网上搜索了一下。
总结如下:
默认情况下当在页面中打开新页面的时候,新的浏览上下文会对来源页窗口有控制权限 window.opener ,通过该属性可以实现跳转来源页窗口的地址。
A页面代码:
B页面代码:
if (window.opener) {
window.opener.location = "https://www.cnblogs.com/dykimy";
}
当用户从A页面跳转到B页面的时候,A页面将会自动跳转到 https://www.cnblogs.com/dykimy 这就实现了某些黑帽的目的。
如何应对这种流氓的B页面呢?
只需要将A页面代码改为如下即可
noopener 作用:指示浏览器打开链接而不授予新的浏览上下文对打开它的文档的访问权限-通过在打开的窗口中不设置 window.opener 属性(返回 null )。
关于找一找教程网
本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。
本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。
[黑帽来源页劫持代码以及如何防范]http://www.zyiz.net/tech/detail-95427.html