Maison > interface Web > js tutoriel > Comment la politique de sécurité du contenu (CSP) protège-t-elle les sites Web contre les injections de code malveillant ?

Comment la politique de sécurité du contenu (CSP) protège-t-elle les sites Web contre les injections de code malveillant ?

Susan Sarandon
Libérer: 2024-11-09 11:20:02
original
680 Les gens l'ont consulté

How does Content Security Policy (CSP) protect websites from malicious code injections?

Comprendre la politique de sécurité du contenu (CSP)

Les erreurs souvent rencontrées dans la console du développeur, telles que "Refusé de...", sont une conséquence de la politique de sécurité du contenu (CSP), une mesure de sécurité qui restreint le chargement de ressources provenant de sources non fiables.

Comment fonctionne CSP ?

CSP vous permet de contrôler l'endroit à partir duquel les ressources peuvent être chargées. Vous définissez les sources autorisées via des directives dans l'en-tête HTTP Content-Security-Policy. En définissant ces restrictions, vous minimisez le risque d'injections de code malveillant comme les attaques XSS.

Directives

Les directives courantes incluent :

  • default-src : stratégie par défaut pour chargement de diverses ressources.
  • script-src : définit des sources valides pour les fichiers JavaScript.
  • style-src : définit des sources valides pour les fichiers CSS.
  • img-src : définit des sources valides sources pour les images.
  • connect-src : définit des cibles valides pour les requêtes AJAX ou les connexions WebSocket.

Utilisation de CSP

1. Autoriser plusieurs sources :

content="default-src 'self' https://example.com/js/"
Copier après la connexion

2. Définir plusieurs directives :

content="default-src 'self' https://example.com/js/; style-src 'self'"
Copier après la connexion

3. Gestion des ports :

content="default-src 'self' https://example.com:123/free/stuff/"
Copier après la connexion

4. Gestion de différents protocoles :

content="default-src 'self'; connect-src ws:; style-src 'self'"
Copier après la connexion

5. Autoriser le protocole de fichier :

content="default-src filesystem"
Copier après la connexion

6. Styles et scripts en ligne :

content="script-src 'unsafe-inline'; style-src 'unsafe-inline'"
Copier après la connexion

7. Autoriser eval() :

content="script-src 'unsafe-eval'"
Copier après la connexion

8. Signification de « soi » :
« soi » fait référence aux sources avec le même schéma, le même hôte et le même port que le fichier dans lequel la politique est définie.

9. Avertissement générique :
Bien que tentante, l'utilisation de content="default-src *" autorise certaines actions risquées comme autoriser les scripts en ligne et eval(). Pour une véritable vulnérabilité, pensez à :

content="default-src * 'unsafe-inline' 'unsafe-eval'"
Copier après la connexion

Resources

  • content-security-policy.com
  • en.wikipedia.org/wiki/Content_Security_Policy

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal