javascript - 如何在网页中隐藏 javascript 代码?

标签 javascript browser hide obfuscation

当通过浏览器的查看源代码功能查看源代码时,是否可以从网页的 html 中隐藏 Javascript 代码?

我知道可以对代码进行混淆处理,但我更希望它在查看源代码功能中隐藏

最佳答案

我不确定其他人是否真的直接解决了您的问题,即通过浏览器的“查看源代码”命令查看代码。

正如其他人所说,没有办法保护旨在在浏览器中运行的 JavaScript 免受坚定的查看者的影响。如果浏览器可以运行它,那么任何确定的人也可以查看/运行它。

但是,如果您将 JavaScript 放入包含在以下文件中的外部 JavaScript 文件中:

<script type="text/javascript" src="http://mydomain.example/xxxx.js"></script>

标签,那么使用 View Source 命令将不会立即显示 JavaScript 代码 - 只有脚本标签本身会以这种方式显示。这并不意味着某人不能只加载该外部 JavaScript 文件来查看它,但您确实询问了如何将其排除在浏览器的“查看源代码”命令之外,这将做到这一点。

如果您真的想让查看源代码更有效,您可以执行以下所有操作:

  1. 将其放在外部 .js 文件中。
  2. 对文件进行模糊处理,以便将大多数 native 变量名替换为短版本,从而删除所有不需要的空格,这样就无法在不进行进一步处理的情况下读取等等...
  3. 通过以编程方式添加脚本标记来动态包含 .js 文件(就像 Google Analytics 所做的那样)。这将使从“查看源代码”命令获取源代码变得更加困难,因为那里没有简单的链接可以点击。
  4. 将尽可能多的您想要保护的有趣逻辑放在您通过 AJAX 调用检索的服务器上,而不是进行本地处理。

综上所述,我认为您应该专注于性能、可靠性并让您的应用更出色。如果您绝对必须保护某些算法,请将其放在服务器上,但除此之外,竞争是在您所做的事情上做到最好,而不是通过拥有 secret 。无论如何,这就是网络成功的最终方式。

关于javascript - 如何在网页中隐藏 javascript 代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6869312/

相关文章:

javascript - for循环内的对象循环数组只接受javascript中的最后一个条件

javascript - 如何使用 onClick JQuery 函数运行 HTML 验证?

java - 从模式窗口调用 Wicket setResponsePage() 时如何打败浏览器对话框弹出窗口?

c# - 如何启动浏览器然后将其定向到页面?

iphone - 横向隐藏状态栏 旋转时留白

flutter - 如何在Flutter中隐藏WebView中的页眉和页脚?

javascript - Jest 抛出错误 > 类型错误 : Cannot read property 'user_env_variable is undifined

javascript - p5.j​​s -- canvas.parent() 不是函数 -- 类型错误?

css - 使用 IE-CSS3 htc 调整浏览器大小时的框定位样式

jquery - 获取 e.target.id 的所有子项?