Documentazione
/
Ricette
/

Best practice

Best practice

Come applicare l'offuscamento in modo efficace: che cosa proteggere, che cosa lasciare invariato e che cosa l'offuscamento non può fare.

Raccomandazioni

  • Offuscare soltanto il proprio codice.

    Non applicare l'offuscamento VM a script di terze parti, librerie o polyfill: sono già minimizzati e l'offuscamento si limiterebbe a rallentarli.

  • Utilizzare la modalità comment per una protezione mirata.

    Contrassegnare con /* javascript-obfuscator:vm */ soltanto le funzioni sensibili, anziché proteggere l'intero codice.

  • Eseguire test approfonditi dopo l'offuscamento.

    Il codice offuscato va sempre testato nell'ambiente di destinazione. Alcune opzioni possono comprometterne il funzionamento in modi non immediatamente evidenti.

  • Escludere i percorsi critici dall'offuscamento VM.

    Utilizzare vmExcludeFunctions per i cicli di animazione, il rendering in tempo reale o il codice richiamato di frequente.

Avviso di sicurezza importante

L'offuscamento rende il reverse engineering più difficile, ma non è crittografia. Un attaccante determinato è sempre in grado di estrarre dati dal codice lato client.

È invece opportuno:

  • Conservare i segreti sul proprio server backend
  • Utilizzare variabili d'ambiente lato server
  • Instradare le chiamate API attraverso il proprio backend per nascondere le chiavi
  • Utilizzare token di breve durata emessi dal proprio server

Che cosa conviene proteggere?

L'offuscamento VM è particolarmente indicato per:

  • Algoritmi proprietari e logiche di business
  • Codice di convalida delle licenze (controlli lato client)
  • Controlli anti-manomissione e di integrità
  • Logiche di gioco e meccanismi anti-cheat
  • Implementazioni delle funzionalità premium
  • Logiche di calcolo dei prezzi