Maison  >  Article  >  interface Web  >  Le code JS frontal Web a-t-il besoin d'être protégé ? Comment protéger le code JS front-end Web

Le code JS frontal Web a-t-il besoin d'être protégé ? Comment protéger le code JS front-end Web

php是最好的语言
php是最好的语言original
2018-08-07 09:29:152185parcourir

Le code JS du front-end Web doit-il être protégé ?

Cela nécessite une analyse détaillée de la situation spécifique.
1. Si vous écrivez simplement une fonction simple comme un carrousel d'images de page Web, ou un effet de chapiteau, etc. Cela ne nécessite pas de protection.
2. Si vous concevez soigneusement un magnifique effet spécial et si vous souhaitez protéger le code d'effets spéciaux que vous avez travaillé si dur pour implémenter contre toute utilisation par d'autres à volonté, alors vous devez protéger ce code JS !
3. S'il y a des fonctions importantes sur la page qui sont contrôlées par le code JS, telles que la logique de transaction, les informations de compte et de mot de passe, la confidentialité personnelle et même la communication avec des serveurs ou des bases de données distants, etc., alors le code JS correspondant. devrait être Protection, la protection antivol du code JS doit être effectuée !
Sinon, cela pourrait causer de graves problèmes, comme être analysé et attaqué par des pirates informatiques. Les questions liées à la sécurité doivent toujours être étouffées dans l’œuf et ne doivent pas être laissées au hasard. À moins que cela ne vous importe absolument pas.

Le code JS frontal Web a-t-il besoin dêtre protégé ? Comment protéger le code JS front-end Web

Comment protéger le code JS front-end web ?
1. Packaging & Compression
Certaines personnes pensent que le packaging et la compression sont la protection du code JS. En effet, l’emballage peut au moins offrir une certaine protection dans une certaine mesure, semble-t-il. Cependant, le but du packaging et de la compression n'est pas de protéger le code JS, mais de faciliter son utilisation, de réduire la taille du code, de faciliter son utilisation et de faciliter sa transmission. Par exemple, une programmation modulaire peut produire 200 fichiers JS. Si vous utilisez "script src" pour référencer chacun un par un... c'est une sorte de torture, que ce soit pour l'agent ou pour le chargement réseau (le navigateur le fera également). soyez en colère ! x_x).
Semblable à l'empaquetage Webpacket et Gulp, ces multiples JS peuvent être synthétisés dans un seul fichier, et les retours chariot, les sauts de ligne et les espaces peuvent être supprimés pour réaliser la compression du code. Il existe également quelques opérations simples d'obscurcissement : modifier les noms de variables longs pour. noms de variables courts dans un style unifié, etc. Ensuite, un fichier est enfin généré. La quantité totale de code est réduite, la lisibilité est mauvaise et il est plus facile à utiliser. Dans le même temps, certaines personnes pensent que cela permet également de protéger le code JS. En fait, bien sûr, le code n'est pas protégé : la lisibilité est toujours la même, mais la quantité de code est plus importante. Tant que vous lisez le code avec un peu de patience, vous constaterez que le code est toujours facile à comprendre. , et il n'y a pas beaucoup de sécurité du tout.
2. Obfuscation et cryptage
Pour protéger le code JS frontal, l'obscurcissement et le cryptage doivent être combinés.
Le cryptage du code source JS seul n'est pas réalisable, encore moins le cryptage dit irréversible JS. Parce que lorsque le code est exécuté côté navigateur, il doit être déchiffré et restauré au code d'origine avant de pouvoir être reconnu et exécuté par le moteur JS du navigateur. Après le décryptage, le code JS original complet existera. Ceci est très dangereux et il existe de nombreuses façons d'afficher le code JS d'origine.
L'obfuscation du code JS est considérée par de nombreux développeurs comme une méthode de protection du code JS bas de gamme, et elle semble moins sécurisée que le cryptage du code source JS. En fait, il existe plusieurs niveaux d’obscurcissement. Par exemple, recherche de caractères et remplacement de chaînes relativement bas de gamme, insertion aléatoire de code pseudo-zombie, hexadécimalisation de chaînes, etc. Il existe également des méthodes haut de gamme qui effectueront d'abord une analyse syntaxique, une analyse lexicale et reconstruiront l'arbre syntaxique. Cela équivaut à avoir implémenté un moteur JS et à traiter le code dans le moteur. Ensuite, vous pouvez effectuer des opérations avec un degré élevé. de liberté à chaque étape. Par exemple, de nouvelles structures syntaxiques peuvent être insérées dans l'arbre syntaxique, toutes les chaînes peuvent être extraites et chiffrées, les variables peuvent être redéfinies de manière régulière pour les rendre dénuées de sens, etc. Cela permet une véritable reconstruction du code. La sécurité du code JS ainsi reconstruit sera qualitativement améliorée.
Lorsque l'obscurcissement et le cryptage réels sont utilisés ensemble, comme JShaman protection JS, Le code JS frontal Web a-t-il besoin dêtre protégé ? Comment protéger le code JS front-end Web peut obtenir une véritable protection de sécurité du code JS. Le chiffrement JS est intégré à l'obfuscation JS, et l'obscurcissement JS est intégré au chiffrement JS. Même si le code ainsi protégé est restauré de manière inversée dans l'environnement d'exécution du client, un grand nombre de fonctions, de codes et de chaînes avec des significations inconnues seront obtenus. Le point spécial est que le code a été reconstruit, et ce que vous obtenez par ingénierie inverse est également le code JS dénué de sens séparé et reconstruit, un grand nombre de codes zombies, des chaînes confuses et des variables avec des significations inconnues. La lisibilité par rapport au code original est... un monde de différence.
Les personnes têtues peuvent aussi dire : il n'existe pas de solution de protection qui ne puisse être déchiffrée. Tant que je l'analyse attentivement, attentivement et que je prends le temps, je peux toujours analyser la signification du code original. .
Cependant, cela peut prendre seulement 10 minutes pour lire le code original, mais cela peut prendre... 10 mois pour lire la signification originale du code JS protégé. À l'heure actuelle, notre code JS a peut-être été mis à jour vers la prochaine version.
L’objectif de la protection du code JS a été atteint, n’est-ce pas ?

Recommandations associées :

Spécification du code frontal Web

Développement frontal Web Télécharger Télécharger l'exemple de code avatar js

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn