我正在尝试找到一种方法来保护/隐藏/加密我的JavaScript代码。通过一些研究,我得到你不能那样做。我发现只有你可以缩小代码并做其他一些技巧。但是在Facebook中,如果您尝试检查元素或尝试调试,则会在控制台中收到消息,您无法看到任何代码。 我怎样才能做到这一点? 安全吗? 我正在使用fire base,我使用JavaScript来获取数据和身份验证。确保我的代码受到保护非常重要。
答案 0 :(得分:8)
您无法保护JS代码 - 它驻留在客户端上,需要浏览器可读。你可以对它进行模糊处理,但就是这样。如果您有想要保护的IPR,请将其保留在服务器端。
另外,请不要使用JS进行任何形式的身份验证!同样适用于数据验证 - 当然,使用它来快速进行客户端错误突出显示,但也可以通过服务器端验证来补充它。
否则,任何使用Burp Suite等工具的人都会有一个实地日。
答案 1 :(得分:1)
你不能。您可以缩小或使用其他混淆技术,但最终,源始终可用,否则浏览器将无法运行它。因此,请勿尝试进行任何与服务器通信以进行验证的身份验证或安全措施。
Facebook也不会隐藏他们的来源。我假设您正在谈论停止!消息。
这只是他们在控制台中使用带有样式的console.log()
命令打印的消息。这是一个警告,以防止天真的最终用户将代码作为骗局的一部分运行。
要查看HTML,只需点击Chrome开发者工具中的Elements
链接即可。
或者只使用view-source:
$size
之前的任何网址作为前缀。
答案 2 :(得分:0)
我只想与遇到相同问题的所有人分享,Firebase为您提供了为应用程序设置规则的选项。 https://firebase.google.com/docs/database/security/quickstart
答案 3 :(得分:0)
Facebook的控制台消息只能在“控制台”选项卡中查看。打开“元素”选项卡将显示页面源。
请记住,您不能完全保护您的代码,但是您可以 阻止代码的复制。
问题是:如何确定潜在的代码窃贼?经过足够的确定,可以规避前端代码上的所有安全措施。
最简单的两个选项是:
1)使用混淆
2)域锁定您的Javascript
为获得更强大的安全性,您需要与服务器通信以检查凭据。没有任何仅客户端方法真正安全。
也有一些高级选项可以提供更高级别的混淆功能,但我在这里不会提及它们-对于基本威慑,它们不是必需的恕我直言。