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
Susan Sarandonoriginal
2024-11-09 11:20:02668parcourir

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/"

2. Définir plusieurs directives :

content="default-src 'self' https://example.com/js/; style-src 'self'"

3. Gestion des ports :

content="default-src 'self' https://example.com:123/free/stuff/"

4. Gestion de différents protocoles :

content="default-src 'self'; connect-src ws:; style-src 'self'"

5. Autoriser le protocole de fichier :

content="default-src filesystem"

6. Styles et scripts en ligne :

content="script-src 'unsafe-inline'; style-src 'unsafe-inline'"

7. Autoriser eval() :

content="script-src 'unsafe-eval'"

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'"

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!

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