保护我的 JavaScript File/Scripts

Protecting my JavaScript File/Scripts

所以我知道JavaScript EDIT 可以用作客户端脚本语言,这意味着它remains/runs 在客户端执行某些操作。除非你使用 Node.js(我就是)

我正在开发一个应用程序,我正在使用 MEAN Stack,因为我的大部分代码都是基于 JavaScript 的。当然,我在服务器上构建了自己的 API。

在测试我的应用程序时,我发现我的 JavaScript file/scripts 通过检查元素在前端可见。

您可以在上图中看到,使用 inspect element 可以看到我的脚本和 angularJS services/factories/controllers。您可以看到我的代码调用了我的 API。我可能会在此处传递敏感数据,例如凭据或其他任何内容。

现在,在你们开始对我大喊大叫之前,我已经完成了研究,发现您无法 100% 保护或隐藏您的客户端脚本。您唯一可以做的就是 obfuscation 让人们更难阅读和理解代码。

我的问题是,人们能够查看对 API/Servers 的 HTTP 请求是否正常或标准做法,如您在附图中所见多于?如何让我的代码更安全。

谢谢。

My Question is that, is it normal or a standard practice for people to be able to view HTTP requests to API/Servers as you can see in the attached image above?

是的,这很正常。不,您无法在 Web 应用程序中更改它。

只有客户端 JS 脚本可见,客户端无法访问或查看服务器端脚本。

您的 front-end 部分只是来自后端的数据表示。我想你如果 keep/send/receive 敏感信息就意味着出了问题。当然,在某些情况下,您必须传递敏感数据,例如身份验证凭据等。考虑重新设计 API 以免泄露敏感数据。

My Question is that, is it normal or a standard practice for people to be able to view HTTP requests to API/Servers as you can see in the attached image above? How can I make my code more secure.

是的。通常这无关紧要,例如,可以使用浏览器输入密码的人也是随后可以检查密码的人。但是您仍然应该尽量减少密码的传输:改用临时过期令牌并将它们绑定到特定客户端。

通过保护 API,您可以使您的代码更安全。将客户视为敌对的。即使您认为您编写了代码,它也可能已被泄露。

因此验证服务器端的所有调用,永远不要相信客户端发送的任何内容。如果您需要客户端存储任何敏感数据,要么对其进行加密,要么最好将其存储在服务器端,并为客户端提供一个随机数,以将他们的请求与他们的秘密数据相匹配。