所以我知道JavaScript EDIT 可以用作客户端脚本语言,这意味着它可以在客户端保留/运行某些操作。除非你使用Node.js(我是)
我正在开发一个应用程序,我正在使用MEAN Stack,我的大多数代码都是基于JavaScript的。我建立了自己的API,当然在服务器上。
在测试我的应用程序时,我看到我的JavaScript文件/脚本在前端通过inspect元素可见。
您可以在上面的图片中看到,使用inspect元素,您可以看到我的脚本和angularJS服务/工厂/控制器。你可以看到我的代码调用我的API。我可以在这里传递敏感数据,例如凭据或其他任何内容。
在你们开始尖叫我之前,我已经完成了我的研究,并且我发现你不能100%安全或隐藏你的客户端脚本。你能做的唯一事情是obfuscation让人们更难阅读和阅读。理解代码。
我的问题是,人们能够查看到API /服务器的HTTP请求是正常的还是标准做法,如上图所示?如何使我的代码更安全。
感谢。
答案 0 :(得分:4)
我的问题是,人们能够查看到API /服务器的HTTP请求是正常的还是标准做法,如上图所示?
是的,这是正常的。不,你无法在网络应用程序中做任何改变。
答案 1 :(得分:1)
我的问题是,人们能够查看到API /服务器的HTTP请求是正常的还是标准做法,如上图所示?如何使我的代码更安全。
是的。通常这并不重要,例如,可以使用他们的浏览器输入密码的人也可以检查它。但您仍应尽量减少密码的传输:使用临时过期令牌,并将其绑定到特定客户端。
通过保护API,您可以使代码更安全。将客户视为敌意。即使你认为你编写了代码,它也可能已经被破坏了。
因此,验证服务器端的所有呼叫,绝不相信客户端发送的任何内容。如果您需要客户端存储任何敏感数据,请加密它,或者更好地将其存储在服务器端,并为客户端提供随机的随机数以使其请求与其秘密数据相匹配。
答案 2 :(得分:0)
只有客户端JS脚本可见,客户端无法访问或查看服务器端脚本。
答案 3 :(得分:0)
您的前端部分只是来自后端的数据的表示。我想如果你保留/发送/接收敏感信息,就意味着出了问题。当然,在某些情况下,您必须传递敏感数据,如身份验证凭据等。考虑重新设计API以避免泄漏敏感数据。