Dokümantasyon
/
Tarifler
/

En İyi Uygulamalar

En İyi Uygulamalar

Obfuscation nasıl etkili biçimde uygulanır: neyi korumalı, neye dokunmamalı ve obfuscation sizin için neleri yapamaz.

Öneriler

  • Yalnızca kendi kodunuzu obfuscate edin.

    Üçüncü taraf betikleri, kütüphaneleri veya polyfill'leri VM ile obfuscate etmeyin. Bunlar zaten küçültülmüştür ve obfuscation yalnızca onları yavaşlatır.

  • Hedefe yönelik koruma için comment modunu kullanın.

    vmTargetFunctionsMode değerini 'comment' olarak ayarlayın, ardından her şeyi korumak yerine yalnızca hassas fonksiyonları /* javascript-obfuscator:vm */ ile işaretleyin. Bkz. Belirli Fonksiyonları Hedefleme.

  • Obfuscation sonrasında kapsamlı biçimde test edin.

    Obfuscate edilmiş kodu her zaman hedef ortamınızda test edin. Bazı seçenekler kodu fark edilmesi zor şekillerde bozabilir. Çalışma zamanı savunmaları test otomasyonuna ve hata ayıklayıcılara da tepki verir; bkz. Test ve CI.

  • Sık çalışan kod yollarını VM obfuscation dışında bırakın.

    Animasyon döngüleri, gerçek zamanlı işleme veya sık çağrılan kod için vmExcludeFunctions kullanın. Yalnızca kök düzeydeki fonksiyon adlarıyla (Async Executor altında en dıştaki async fonksiyonların adlarıyla) eşleşir; iç içe sık çalışan kodu VM dışında tutmak için comment modunu kullanın ve yalnızca koruma gerektiren fonksiyonları işaretleyin.

Kritik güvenlik uyarısı

API anahtarlarını, gizli bilgileri veya kimlik bilgilerini obfuscation uygulansa bile asla ön yüz JavaScript kodunda saklamayın.

Obfuscation, kodu anlamak ve değiştirmek için gereken çabayı artırır, ancak şifreleme değildir ve tersine mühendisliğin imkânsız olduğunu garanti edemez. Çalışma zamanı, saldırganın kontrol ettiği bir ortamda gözlemlenebilir kalır; bu nedenle kararlı bir saldırgan istemci tarafı koddan her zaman veri çıkarabilir. Gizli bilgileri ve belirleyici güvenlik kararlarını sunucuda tutun.

Pratikte:

  • Gizli bilgileri arka uç sunucunuzda saklayın
  • Sunucu tarafında ortam değişkenleri kullanın
  • Anahtarları gizlemek için API çağrılarını arka ucunuz üzerinden proxy'leyin
  • Sunucunuzun verdiği kısa ömürlü token'lar kullanın

Neyi korumalısınız?

VM obfuscation şunlar için idealdir:

  • Özel algoritmalar ve iş mantığı
  • Lisans doğrulama kodu (istemci tarafı denetimler)
  • Kurcalama karşıtı ve bütünlük denetimleri
  • Oyun mantığı ve hile karşıtı mekanizmalar
  • Premium özellik uygulamaları
  • Fiyat hesaplama mantığı

Derleme ve yayın

Derlenmiş, paketlenmiş çıktınızı son derleme adımı olarak obfuscate edin; derleme hattı için Çalışma Ortamı Uyumluluğu sayfasına bakın. Seçtiğiniz ön ayarın maliyetini, Ön Ayar Seçimi sayfasında açıklandığı gibi kendi kodunuzda ölçün. İşlevsel testleri bir test derlemesine karşı çalıştırın, ardından Test ve CI sayfasında açıklandığı gibi gerçekte yayınladığınız ayrı sürüm yapıtını doğrulayın.