2013-08-04 41 views
0

我对在浏览器上的全局变量中存储敏感信息有点偏执狂;谁不会。进入AMD!我的问题是,我们可以放心地使用require.js来完全隔离变量,以帮助减轻控制台对变量的不必要操纵吗?有没有人发现后门,或者更好的方式来说,有人见证了require.js库的任何安全问题吗? 谢谢!使用require.js减轻javascript对象的安全风险

+2

我会打开开发工具,在具有敏感值的代码中放置一个断点,然后读取它们就好了。或者在浏览器看到它之前使用Fiddler/Wireshark捕获数据。如果您向客户发送信息,他会找到一种方法来阅读它。 – DCoder

+0

不用担心被读取的变量,就像你说的,易于在堆栈上读取。它通过我关心的控制台操纵变量。另外,通过wireshark查看数据只会对纯文本造成影响,对吗?自然界的网络加密缓解MIM攻击是正确的?谢谢! – user2250351

+2

当命中断点时,仍然可以在控制台中操作变量。为什么这是一个问题?无论如何,您应该验证服务器上的所有用户输入... – DCoder

回答

2

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

看看这个gamedev question这对如何使它更难(但并非不可能),为用户骗你的代码的一些建议。

0

是的,攻击者可以随时查看源代码。但是,如果您调整大小并塑造有效负载,将客户端的部分/区域缩小和模块化,按照用例需求进行按需服务,则可以有效地添加一层安全性,这是由于人玩。

bot不能简单地遍历服务器上的目录,而是必须(通过JavaScript)智能地导航应用程序,只需在应用程序中唯一指定的位置获取代码。它必须知道某些有效载荷何时对用例至关重要(比如将信用卡信息N屏幕提供给流程)。此外,客户端代码将被模糊w/r/t IP地址或沿着连续的定期发布周期。