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
JavaScript,禁用断点_Javascript_Security_Google Chrome Devtools_Backbone Model - Fatal编程技术网

JavaScript,禁用断点

JavaScript,禁用断点,javascript,security,google-chrome-devtools,backbone-model,Javascript,Security,Google Chrome Devtools,Backbone Model,为了保护我的SPA,我需要一种禁用所有JS断点的方法 目前,我仍然能够使用ChromeDevTool添加运行时断点,并更改对象的变量值。不是在控制台中,而是在运行时中 如果攻击者能够更改应用程序对象的属性值,则我的应用程序将受损 你有没有防止这种行为的建议 最好是在my JS中插入: console.ignoreBreakPoints(); 作为一种实际措施,您可以尝试在将JavaScript发送到客户端之前缩小或以其他方式混淆JavaScript,从而使代码的浏览变得更加困难。但是你不能依靠

为了保护我的SPA,我需要一种禁用所有JS断点的方法

目前,我仍然能够使用ChromeDevTool添加运行时断点,并更改对象的变量值。不是在控制台中,而是在运行时中

如果攻击者能够更改应用程序对象的属性值,则我的应用程序将受损

你有没有防止这种行为的建议

最好是在my JS中插入:

console.ignoreBreakPoints();

作为一种实际措施,您可以尝试在将JavaScript发送到客户端之前缩小或以其他方式混淆JavaScript,从而使代码的浏览变得更加困难。但是你不能依靠任何客户端行为来保护你的网站。必须在服务器端重新检查所有安全检查


即使有一种方法可以指示Chrome不允许人们使用开发工具做某些事情,但事实并非如此,用户仍然可以使用计算机上的各种其他工具更改浏览器中的值。或者他们可以编译自己的自定义版本的浏览器。或者,他们可以简单地向您的服务器发送错误信息,而根本不运行您的客户端代码。

我相信调试器对于开发人员和黑客来说是非常棒的。开发人员应该意识到调试程序编辑运行时变量的危险。这样,保护JS应用程序的安全将是一个伟大的步骤。作弊引擎可能能够找到一些变量地址,但在我的测试过程中无法修改任何值。@Maxime:这只是一个例子。我的观点是,黑客攻击依赖于客户端行为的应用程序总是可能的。您必须使您的应用程序不会因为简单地更改客户端值或代码而受损。