↗点击上方“Web安全与前端”关注我们
Chromium工程师正在计划并讨论改变JavaScript弹出窗口在Chrome和其他类似浏览器中的工作原理。
在Google Developers门户网站上发布的一项提案中[1],Chromium团队承认JavaScript弹出窗口过去一直在伤害用户。
同时,JavaScript弹出窗口已被用于将用户重定向到恶意软件下载,这些打扰用户的对话通常还是基于web威胁的操作的核心,也称为技术诈骗。
问题在于JavaScript弹出窗口通常阻止对整个浏览器的访问,除非用户手动关闭该弹出窗口。
在许多情况下,骗子构建了无限循环的JavaScript,使用户在停留在不可靠的网站上。这些策略被称为“browser lockers”,与勒索软件工作方法类似,尽管它们更容易被删除,并且不会由于加密而导致的任何数据丢失。
为了应对这种威胁,Google工程师表示,他们计划让javascript模态窗口,如alert(),confirm()和dialog()方法,仅在单个选项卡上上工作,而不是单个窗口。
这种更改意味着弹出式窗口不会阻止用户切换和关闭该选项卡,从而结束网站所有者的任何过于激进的策略。
本周发布的Safari 9.1也发生了类似的变化。苹果公司的这个决定是在恶意软件使用Safari中的一个bug,通过弹出窗口将用户留在这个恶意页面,然后进行敲诈收费,构成了勒索软件[2]后制定的。。
Google自2016年7月起就对此调整进行了讨论
谷歌移动JavaScript弹出窗口到选项卡的决定没有时间表,但Chromium 的工程师自从2016年7月[3]一直把这个问题作为Project OldSpice[4]的部分项目在讨论。
与此同时,Google正在要求网络开发人员考虑使用新技术作为经典alert()、confirm()、和dialog()函数的替代方法。
例如:
通知API - 用来通知用户工作事件(例如日历网站)
HTML
元素 - 用于获取用户输入Devtool的console.log(document.origin) - 用于验证XSS
“由于这些变化,如果您的站点使用对话框,强烈建议您转向使用前面提到的替代方案,这样将不会受到影响,”Google的工程师说。“Chromium团队强烈建议您不要使用JavaScript对话框。”
[1]. https://developers.google.com/web/updates/2017/03/dialogs-policy
[3]. https://bugs.chromium.org/p/chromium/issues/detail?id=629964
[4]. https://docs.google.com/document/d/1wtV5rmLhbf1OZkbg7crtCt6h1mMtig\_ctTQt3BLLEIU/edit
作者:Catalin Cimpanu
注:本文原创,转载请通过本公众号联系作者。
安全&前端
长按二维码
关注我们