Tài liệu
/
Công thức
/

Thực hành tốt nhất

Thực hành tốt nhất

Cách áp dụng làm rối một cách hiệu quả: nên bảo vệ gì, nên để yên gì, và làm rối không thể làm được gì cho bạn.

Khuyến nghị

  • Chỉ làm rối mã của chính bạn.

    Đừng làm rối VM các script bên thứ ba, thư viện hay polyfill. Chúng vốn đã được minify và việc làm rối chỉ khiến chúng chậm đi.

  • Dùng chế độ comment để bảo vệ có chọn lọc.

    Chỉ đánh dấu các hàm nhạy cảm bằng /* javascript-obfuscator:vm */ thay vì bảo vệ mọi thứ.

  • Kiểm thử kỹ lưỡng sau khi làm rối.

    Luôn kiểm thử mã đã làm rối trong môi trường đích của bạn. Một số tùy chọn có thể làm hỏng mã theo những cách rất khó nhận ra.

  • Loại các đoạn mã chạy nhiều khỏi làm rối VM.

    Dùng vmExcludeFunctions cho các vòng lặp hoạt ảnh, kết xuất thời gian thực, hoặc mã được gọi thường xuyên.

Lưu ý bảo mật quan trọng

Làm rối khiến việc dịch ngược khó hơn, nhưng nó không phải là mã hóa. Một kẻ tấn công đủ quyết tâm luôn có thể trích xuất dữ liệu từ mã phía client.

Thay vào đó, bạn nên:

  • Lưu các bí mật trên máy chủ backend của bạn
  • Dùng biến môi trường ở phía máy chủ
  • Chuyển tiếp các lệnh gọi API qua backend của bạn để giấu khóa
  • Dùng các token ngắn hạn do máy chủ của bạn cấp

Bạn nên bảo vệ những gì?

Làm rối VM là lựa chọn lý tưởng cho:

  • Thuật toán độc quyền và logic nghiệp vụ
  • Mã kiểm tra giấy phép (kiểm tra phía client)
  • Các kiểm tra chống can thiệp và toàn vẹn
  • Logic trò chơi và cơ chế chống gian lận
  • Phần cài đặt của các tính năng cao cấp
  • Logic tính giá