我正在尝试找到一种方法,使我的 JavaScript 代码在浏览器的开发者控制台中不可见,但仍然可用。如果这是不可能的,我需要一种方法使其只能在特定网站上运行。提前致谢。
最佳答案
互联网站点
对于公共(public)网站,您想要的是不可能的。您可以混淆代码,但无法使其不可见,因为浏览器位于用户的控制之下控件,而浏览器需要代码来执行它,因此用户始终可以强制浏览器显示代码。
当然,您可以使混淆变得更加复杂,而不仅仅是丑化,从而进入 DRM 主题。但这仍然不会阻止任何人掌握(混淆的)脚本来仍然运行它,并可能对其进行逆向工程。
由于 JavaScript 代码在用户的计算机上运行,因此他们必须信任它。 (在某种程度上。它在 JavaScript 运行时中运行沙箱,因此不会造成太大危害。)在缩小范围之外混淆代码会让您看起来非常可疑,因为这表明您必须隐藏会损害的功能您的用户或他们的机器。
因此,正如其他人已经评论的那样,必须保密的代码必须仅在服务器端运行,以便只有结果才能到达客户端。
受控环境
在 Intranet 场景中情况有所不同,在该场景中,相应的 IT 部门可能对 Intranet 服务器和客户端计算机拥有独占控制权。在那里,IT 部门可以禁用已安装浏览器的检查功能。此外,他们还必须确保用户无法以其他方式下载脚本或从浏览器缓存中抓取脚本。
实际上,这需要将计算机设置为用作网络信息亭(无法运行任意程序的网络终端)。当然,网络或内联网服务器必须可靠地验证这些受信任的客户端计算机,或者有人可以直接插入自己的计算机来获取 JavaScript 代码。
关于javascript - 如何使我的 JavaScript 代码在开发者控制台中不可读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28646647/