Tài liệu
/
Làm rối VM
/

Browser Environment

Browser Environment

Pro
v7.9.0+

Khai báo cách bản dựng production của bạn được phục vụ để mã được bảo vệ có thể ràng buộc tính toàn vẹn vào đó.

Tùy chọn browserEnvironment khai báo các thông tin về môi trường mà bản dựng production của bạn được phục vụ, để mã được bảo vệ có thể tự ràng buộc vào chúng. Nó chỉ có hiệu lực khi dùng cùng vmSelfDefending; tự thân nó không làm gì cả.

Đây là một đối tượng nhỏ. Hiện tại nó có một trường duy nhất:

browserEnvironment: { transport: 'https' }

transport

Giao thức mà môi trường production của bạn dùng để phục vụ bundle — 'http' hoặc 'https'.

Với 'https', một bản sao được một kỹ sư dịch ngược phục vụ qua HTTP thuần sẽ không chạy đúng. 'http' hoặc để trống trường này thì không thêm sự bảo vệ đó.

Các target được hỗ trợ

browserEnvironment chỉ áp dụng cho các target browser, browser-no-evalservice-worker. Với node, userscriptbytenode, tùy chọn này bị từ chối — việc làm rối thất bại với lỗi xác thực thay vì âm thầm bỏ qua thiết lập.

Yêu cầu

  • Được bật cùng vmSelfDefending; nếu không sẽ không có tác dụng.
  • Một target browser, browser-no-eval hoặc service-worker.
  • Phiên bản obfuscator 7.9.0 trở lên.

Ví dụ

JavaScriptObfuscator.obfuscate(code, {
    vmObfuscation: true,
    vmSelfDefending: true,
    target: 'browser',
    browserEnvironment: { transport: 'https' }
});