在同一选项卡中打开的其他网站可以访问全局变量



今天我发现Chrome(或者其他我还没有测试过的浏览器(存在安全问题。发生的情况是,一旦你打开一个网站,然后在同一选项卡中打开另一个网站时,该选项卡中的当前网站就可以访问上一个网站的全局变量。我在本视频中演示了这一点:https://www.youtube.com/watch?v=oDFKsLaecOs

浏览器应该解决这个问题,但有其他方法可以保护我们的全局变量吗?

这就是复制它的方法:

我登录到了excel.com网站,他们正在使用name变量来存储当前登录的用户名。您可以在控制台中使用它并检查它的值。

现在转到同一选项卡中的任何其他站点,并尝试从extel访问该变量。您的姓名将被显示,或者只需在检查器中添加HTML中的一个按钮,点击即可显示姓名变量。

请参阅MDN上window.name的描述。

您正在重命名窗口,而不是创建新的全局变量。


有其他方法可以保护我们的全局变量吗?

除非你真的这么想,否则不要给预定义的属性赋值。

首先还要避免使用全局变量。

什么时候需要使用全局变量,不要使它们成为隐式全局变量。使用letconst声明它们。

相关内容

  • 没有找到相关文章

最新更新