JavaScript 中的混淆是一种将 JavaScript 代码编码为不可读格式的技术。它使代码难以理解和逆向工程。

众所周知,JavaScript 代码是从服务器获取并由浏览器在客户端呈现的。因此,任何人都可以使用浏览器中的检查工具轻松访问和复制它。

这是一个问题,因为我们不希望每个人都查看我们编写的代码。它也可能导致安全风险,因为如果攻击者在你的 JavaScript 代码中发现漏洞;该网站很容易受到攻击。

这主要发生在网站或 Web 应用程序没有后端时。始终建议将重要逻辑保留在后端(服务器端),并且永远不要将其发送到客户端。

但在某些情况下,你可能必须将代码的某些关键部分发送到客户端。混淆 JavaScript 代码的目标是将此类代码加密为人类无法理解的格式。

这样,即使客户可以访问你的代码,他们也可能看不懂,即使他们复制了代码,他们也可能无法修改。下面我们有一个 JavaScript 代码片段。

console . log ( "Hello World!" ) ; 上面的代码被混淆之后,就是这个样子,但是你几乎看不懂任何东西。如果你直接在浏览器中运行此代码,它也会为你提供与前面代码相同的输出。

var _0xf14d = [ "\x48\x65\x6C\x6C\x6F\x20\x57\x6F\x72\x6C\x64\x21" , "\x6C\x6F\x67" ] ; console [ _0xf14d [ 1 ] ] ( _0xf14d [ 0 ] ) Hello World! 此过程可能无法 100% 保护你的代码,但最好有一些东西而不是什么都没有。这是你可以用来增强网站安全性的安全措施之一。

许多可以帮助将代码转换为不可读格式的工具都可以在线获得,它们允许你对 JavaScript 代码执行混淆处理。下面是一些可用于对 JavaScript 代码进行编码的混淆工具。

这是一个免费网站,你可以在其中混淆你的 JavaScript 代码。该网站将网站编码为较小的编码字符串。

这个网站的唯一缺点是它没有对代码的每一部分进行编码。正因为如此,猜测被混淆的代码会更容易一些。

obfuscator.io 是一个免费的开源网站,可让你对 JavaScript 代码的每一部分进行混淆处理。这将生成大量的输出字符串,使代码非常难以猜测和逆向工程。

function _0x2b7f(_0x4b6c11,_0x315769){var _0x1dc05a=_0x1dc0();return _0x2b7f=function(_0x2b7f7e,_0x228a95){_0x2b7f7e=_0x2b7f7e-0x64;var _0x45187e=_0x1dc05a[_0x2b7f7e];return _0x45187e;},_0x2b7f(_0x4b6c11,_0x315769);}(function(_0x5dd9bf,_0x334784){var _0xeea2f6=_0x2b7f,_0x3165e7=_0x5dd9bf();while(!![]){try{var _0x2b0404=parseInt(_0xeea2f6(0x6b))/0x1+parseInt(_0xeea2f6(0x6c))/0x2*(-parseInt(_0xeea2f6(0x66))/0x3)+-parseInt(_0xeea2f6(0x6d))/0x4+-parseInt(_0xeea2f6(0x6a))/0x5+-parseInt(_0xeea2f6(0x64))/0x6*(parseInt(_0xeea2f6(0x65))/0x7)+parseInt(_0xeea2f6(0x67))/0x8+parseInt(_0xeea2f6(0x69))/0x9;if(_0x2b0404===_0x334784)break;else _0x3165e7['push'](_0x3165e7['shift']());}catch(_0xc4f2f5){_0x3165e7['push'](_0x3165e7['shift']());}}}(_0x1dc0,0x58929));function myFun(){var _0x7d73e6=_0x2b7f;console[_0x7d73e6(0x68)]('Hello\x20World!');}myFun();function _0x1dc0(){var _0x35de3a=['127722huaALJ','119OpLtUQ','906fXgONm','3312880EZLkNB','log','11402298dsXQQu','129125FyqrTT','11454lIlZsK','1922GQtaJF','2607068kFkiIM'];_0x1dc0=function(){return _0x35de3a;};return _0x1dc0();} 要混淆 JavaScript 代码,请将其复制并粘贴到上图所示的输入框中,然后按 Obfuscate 按钮。

Jscrambler.com 是另一个可以帮助你混淆 JavaScript 代码的网站。该网站还将生成大量难以复制和逆向工程的字符串输出。

你需要在此网站上创建一个帐户才能开始使用,然后只有你可以使用此工具。唯一需要担心的是,它是一项付费服务​​,而且该网站还要求你拥有一个企业电子邮件帐户。

登录 Jscrambler 网站后,单击下面的框以创建应用程序。

然后给一个应用程序任何名称,然后单击创建按钮。

单击 保护应用程序 按钮,这将带你进入一个新页面。

现在单击添加按钮以创建一个 JavaScript 文件。然后给它一个名字并点击创建。

在这里,你可以粘贴要混淆的 JavaScript 代码,然后单击 保护应用程序 按钮。

这会混淆你的 JavaScript 代码。

  • JavaScript 中 Unexpected end of JSON input 错误
  • 你理解Javascript的闭包吗?
  • 如何在 JavaScript 中将集合set转换为 JSON
  • 如何在 JavaScript 中存储键值数组
  • 你需要知道的关于Javascript 中的 Let 关键词的一切
  • 在 JavaScript 中获取字符串的最后 N 个字符
  • JavaScript 中如何检查函数是否定义
  • 在 JavaScript 中将数字四舍五入到小数点后两位
  • 在 JavaScript 中从数组中删除重复的内容
  •