文档
/
实用方案
/

最佳实践

最佳实践

如何有效地应用混淆:该保护什么、该放过什么,以及混淆无法为您做到什么。

建议

  • 只混淆您自己的代码。

    不要对第三方脚本、库或 polyfill 进行 VM 混淆。它们已经过压缩,混淆只会拖慢 它们的运行。

  • 使用注释模式进行精准保护。

    只用 /* javascript-obfuscator:vm */ 标记敏感函数,而不是保护所有内容。

  • 混淆后请充分测试。

    务必在您的目标环境中测试混淆后的代码。某些选项可能以难以察觉的方式破坏代码。

  • 将热路径排除在 VM 混淆之外。

    对动画循环、实时渲染或被频繁调用的代码使用 vmExcludeFunctions

关键安全提示

混淆会让逆向工程 更困难,但它 不是加密。有决心的攻击者总能从客户端代码中提取 数据。

相反,您应该:

  • 将机密存储在您的后端服务器上
  • 在服务端使用环境变量
  • 通过您的后端代理 API 调用,以隐藏密钥
  • 使用由您的服务器签发的短时有效令牌

您应该保护什么?

VM 混淆非常适合:

  • 专有算法与业务逻辑
  • 授权校验代码(客户端检查)
  • 反篡改与完整性检查
  • 游戏逻辑与反作弊机制
  • 高级功能的实现
  • 定价计算逻辑