Files
DP/tempdocs/安全方案对比.md

3.1 KiB
Raw Blame History

安全方案对比

方案 A前端内联 JSX当前方案

优点

  • 离线可用
  • 响应快速
  • 开发简单

缺点

  • 代码完全暴露
  • 可以被逆向破解
  • 用户可以绕过验证
  • 核心算法可被复制

安全性

★☆☆☆☆ (1/5)

攻击方式

// 攻击者可以直接修改前端代码:
// 1. 删除 verifyLicense() 调用
// 2. 直接调用 Layer.createLayer()
// 3. 复制 JSX 代码到自己的插件

方案 B服务器端 JSX推荐

优点

  • 核心代码在服务器,无法被窃取
  • 强制在线验证
  • 可以随时更新逻辑
  • 支持按功能付费
  • 完整的用户行为追踪

缺点

  • 需要联网
  • 有延迟(通常 <100ms
  • 服务器成本

安全性

★★★★★ (5/5)

工作流程

客户端                服务器
-------              --------
1. 点击按钮    →      
2. 发送请求    →     验证许可证
                     验证设备绑定
                     检查用户等级
                     生成 JSX 代码
3. 接收代码    ←     返回 JSX
4. 执行代码    
5. 显示结果    

破解难度

  • 前端只有 API 调用,没有核心逻辑
  • 即使破解前端,也无法获取服务器端的 JSX 模板
  • 服务器可以检测异常调用并封禁账号

方案 C混合方案平衡

策略

  • 基础功能 → 前端内联(离线可用)
  • 核心功能 → 服务器端(保护算法)
  • 高级功能 → 服务器端 + 付费验证

示例

// 基础功能:前端内联(免费,离线)
await Layer.createLayer('新图层');

// 核心功能:服务器端(付费,在线)
await ServerJSX.createLayerWithStyle('设计图层', 80, '#FF0000');

// 高级功能:服务器端(高级会员专属)
await ServerJSX.aiAutoDesign(params);

安全性

★★★☆☆ (3/5)

🎯 推荐配置

商业产品(强保护)

✅ 使用方案 B服务器端 JSX
✅ 所有核心功能服务器化
✅ 前端代码混淆
✅ 设备指纹 + 硬件绑定
✅ 许可证在线验证
✅ 操作日志 + 异常检测

免费/开源产品(轻保护)

✅ 使用方案 A前端内联 JSX
✅ 基础代码混淆
✅ 可选的在线功能

💡 实现建议

1. 短期(快速上线)

使用方案 A + 基础保护:

  • 代码混淆
  • 许可证验证
  • 行为记录

2. 中期(商业化)

迁移到方案 C

  • 保留基础功能在前端
  • 核心算法移到服务器
  • 实现付费功能

3. 长期(高价值产品)

完全方案 B

  • 所有核心功能服务器化
  • AI 功能集成
  • 多端同步
  • 企业级管理

⚠️ 重要提醒

前端代码永远可以被破解!

真正的保护只有两种:

  1. 服务器端执行 - 代码不在客户端
  2. 硬件加密 - 使用加密狗CEP 插件不支持)

其他所有前端保护(混淆、加密)都只是增加破解难度,不能完全防止。