Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Security 使用require.js降低javascript对象的安全风险_Security_Requirejs_Amd - Fatal编程技术网

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

Security 使用require.js降低javascript对象的安全风险,security,requirejs,amd,Security,Requirejs,Amd,我有点偏执于将敏感信息存储在浏览器的全局变量中;谁不会呢。进入AMD!我的问题是,我们能否自信地使用require.js完全隔离变量,以帮助减轻控制台对变量的不必要操作?有没有人发现后门,或者更好的说法是,有没有人看到require.js库存在任何安全问题? 谢谢 不,你不能。即使您没有任何全局变量,用户仍然可以遍历您的源代码并添加断点,然后当代码到达断点时,他可以操作实际范围内可访问的所有变量 看看这篇文章,它提供了一些建议,如何让用户更难(但并非不可能)欺骗您的代码。是的,攻击者可以随时查看

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

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


看看这篇文章,它提供了一些建议,如何让用户更难(但并非不可能)欺骗您的代码。

是的,攻击者可以随时查看源代码

但是,如果您调整有效负载的大小和形状,缩小和模块化客户机的部分/区域,并根据需求的用例描述为它们提供服务,那么您就有效地添加了一层安全性,这是由于假设了人的参与而存在的

机器人不能简单地遍历服务器上的目录,而是必须(通过JavaScript)智能地导航应用程序,只在应用程序中唯一指定的点获取代码。它必须知道什么时候某些有效负载对用例至关重要(比如在流程中提供信用卡信息屏幕)


此外,客户机代码和应用程序可能会因IP地址或连续、定期的发布周期而变得模糊。

我将打开开发工具,在代码中设置一个断点,使敏感值在范围内,然后很好地读取它们。或者在浏览器看到数据之前使用Fiddler/Wireshark捕获数据。如果你向客户发送信息,他会找到一种读取方法。不用担心变量被读取,就像你说的,很容易在堆栈上读取。我关心的是通过控制台操纵变量。另外,通过wireshark查看数据只会成为纯文本的问题,对吗?网络加密本质上缓解MIM攻击,对吗?谢谢当遇到断点时,仍然可以在控制台中操纵变量。为什么这是一个问题?无论如何,您都应该验证服务器上的所有用户输入。。。