使用require.js降低javascript对象的安全风险

时间:2013-08-04 05:46:40

标签: security requirejs amd

关于在浏览器中将敏感信息存储在全局变量中,我有点偏执;谁不会。进入AMD!我的问题是,我们能否自信地使用require.js来完全隔离变量,以帮助减轻对控制台不必要的变量操作?有没有人发现后门,或者更好的方式,有人见过require.js库的任何安全问题? 谢谢!

2 个答案:

答案 0 :(得分:2)

不,你不能。即使您没有任何全局变量,用户仍然可以查看源代码并添加断点,然后当代码到达断点时,他可以操作实际范围内可访问的所有变量。

看看这个gamedev question,它提供了一些关于如何让用户更难(但并非不可能)欺骗代码的建议。

答案 1 :(得分:0)

是的,攻击者总能查看来源。

但是如果你调整有效载荷的大小和形状,缩小和模块化客户端的部分/区域,按照用例叙述按需提供它们,你就可以有效地添加一层由于人类假设而存在的安全性 - 播放。

机器人不能简单地遍历服务器上的目录,而是必须(通过JavaScript)智能地导航应用程序,只在代码中的唯一指定点获取代码。它必须知道某些有效载荷何时对用例来说是必不可少的(比如在一个过程中提供信用卡信息N屏幕)。

此外,客户端代码和w / r / t IP地址或连续,定期发布周期混淆。