Maison > Article > interface Web > Javascript est-il sûr ?
javascript est sécurisé. JavaScript est un langage de sécurité. Il ne permet pas l'accès au disque dur local, ne peut pas stocker de données sur le serveur, ne permet pas la modification et la suppression de documents réseau et ne peut permettre que la navigation dans les informations ou l'interaction dynamique via le navigateur. éviter la perte de données.
L'environnement d'exploitation de ce tutoriel : système Windows 7, JavaScript version 1.8.5, ordinateur Dell G3.
JavaScript ("JS" en abrégé) est actuellement le langage de script côté client le plus populaire et le plus utilisé. Il est utilisé pour ajouter des effets dynamiques et des fonctions interactives aux pages Web et joue un rôle décisif dans le domaine du développement Web. .
JavaScript est un langage de script basé sur des événements qui peut répondre aux entrées de l'utilisateur sans l'aide d'un serveur Web. Par exemple, lorsque nous visitons une page Web, cliquez sur la page Web avec la souris ou faites défiler la fenêtre, via JavaScript. réagir directement à ces événements.
JavaScript ne dépend pas du système d'exploitation et peut s'exécuter dans le navigateur. Par conséquent, une fois qu'un script JavaScript est écrit, il peut être exécuté sur n'importe quel système, à condition que le navigateur du système prenne en charge JavaScript.
JavaScript est un langage de sécurité. Il ne permet pas l'accès au disque dur local, ne peut pas stocker de données sur le serveur, ne permet pas la modification et la suppression de documents réseau et ne peut permettre que la navigation dans les informations ou l'interaction dynamique via le navigateur. empêche efficacement la perte de données.
5 meilleures pratiques de sécurité JavaScript faciles à mettre en œuvre
1. Utilisez JavaScript linter
Le moyen le plus simple et le plus simple d'éviter les problèmes de sécurité JavaScript est d'inspecter votre code. Linter est un outil d'analyse de code statique qui vérifie votre code pour détecter les erreurs de programmation et de style, les odeurs de code et les vulnérabilités de sécurité connues.
Les trois linters JavaScript les plus connus sont JSHint, JSLint et ESLint. Les éditeurs de code source modernes, tels que Visual Studio Code et Atom, sont également dotés de fonctionnalités de peluchage JavaScript enfichables.
2. Évitez d'utiliser du JavaScript en ligne et établissez une politique de sécurité du contenu
L'utilisation de balises de script en ligne rend votre site Web ou votre application plus vulnérable aux attaques de scripts intersites (XSS). Vous pouvez éviter ce risque de sécurité JavaScript en ajoutant tous les scripts, y compris les gestionnaires d'événements en ligne (tels que onclick), en tant que fichiers .js externes.
Pour améliorer la sécurité, nous vous recommandons également d'établir une politique de sécurité du contenu (CSP). Il s'agit d'une couche de sécurité dans la communication entre le client et le serveur qui vous permet d'ajouter des règles de sécurité de contenu aux en-têtes de réponse HTTP.
La mise en place d'un CSP plus efficace est plus facile si vous n'avez pas de scripts en ligne sur vos pages. Vous pouvez utiliser les directives script-src et default-src pour bloquer tous les scripts en ligne, donc si un script en ligne malveillant tente de s'exécuter sur votre site, il échouera automatiquement.
3. Valider les entrées utilisateur
La validation des entrées utilisateur côté client et côté serveur est cruciale pour éviter l'injection de code malveillant.
Les formulaires HTML5 sont livrés avec des attributs de validation de formulaire intégrés tels que requis, min, max, type, etc., vous permettant de vérifier les données utilisateur et de renvoyer des messages d'erreur sans utiliser de JavaScript côté client. Vous pouvez également utiliser l'attribut HTML pattern pour valider les valeurs saisies à l'aide d'expressions régulières.
En plus de ces attributs HTML5, les navigateurs modernes prennent également en charge l'API Constraint Validation, vous permettant d'effectuer une validation d'entrée personnalisée à l'aide de JavaScript.
Il s'agit d'une API Web qui étend les interfaces JavaScript appartenant à différents éléments HTML utilisés dans des formulaires tels que HTMLInputElement, HTMLSelectElement et HTMLButtonElement et fournit des propriétés et des méthodes utiles pour vérifier la validité des entrées en fonction de différentes contraintes, signaler l'état de validité et effectuer d'autres opérations.
4. Échapper ou encoder les entrées de l'utilisateur
Pour éviter les attaques XSS, il est également important d'échapper ou d'encoder les données entrantes ou dangereuses. L'échappement et le codage sont deux techniques permettant de convertir des caractères spéciaux susceptibles de présenter un risque de sécurité en un format sûr.
Alors que l'encodage ajoute un caractère supplémentaire avant un caractère potentiellement dangereux, comme le caractère avant une citation en JavaScript, l'échappement convertit le caractère dans un format équivalent mais sûr, comme le caractère >
En règle générale, vous devez toujours encoder les entités HTML (telles que les caractères < et >) lorsqu'elles proviennent de sources non fiables. Pour échapper aux URI et aux codes JavaScript, vous pouvez utiliser des outils d'échappement/codage gratuits tels que JavaScript String Escaper et URL Encoder/Decoder de FreeFormatter.
Il est préférable d'éviter d'utiliser des propriétés et des méthodes JavaScript qui renvoient des chaînes non échappées. Par exemple, vous pouvez utiliser la propriété safe textContent au lieu de innerHTML qui analyse en HTML (afin que les caractères ne soient pas échappés).
5. Compressez, regroupez et obscurcissez votre code JavaScript
Enfin, vous pouvez utiliser des outils comme Webpack avec plus de fonctionnalités de sécurité pour réduire et regrouper votre code, ce qui rend plus difficile pour les pirates informatiques de comprendre la structure et la logique de vos scripts. Par exemple, vous pouvez ajouter un nombre aléatoire à chaque script chargé.
Bien que la réduction et le regroupement des scripts soient souvent considérés comme une bonne pratique JavaScript, l'obscurcissement est un sujet controversé. En effet, le navigateur met plus de temps à charger le script obscurci, ce qui dégrade les performances et l'expérience utilisateur, en particulier à des niveaux d'obscurcissement plus élevés. Cependant, si vous décidez néanmoins de masquer tout ou partie de vos scripts, vous pouvez utiliser des outils gratuits comme Obfuscator.io, qui propose également des plugins pour des outils populaires tels que Webpack, Grunt, Rollup, Netlify, etc.
Suivre ces bonnes pratiques de sécurité JavaScript peut vous aider à rendre vos scripts plus sécurisés et à prévenir les attaques courantes telles que les scripts intersites, la falsification de requêtes intersites, les vulnérabilités de sécurité tierces, etc.
【Recommandations associées : Tutoriel vidéo javascript, Vidéo de programmation de base】
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!