Blog CSP et sécurité navigateur

Des guides pratiques sur la Content Security Policy, la Reporting API du navigateur et les headers de sécurité HTTP qui les entourent : le comportement de chacun, le contenu réel de leurs rapports, et comment les déployer sur un site en production sans rien casser.

X-Frame-Options vs frame-ancestors, quel contrôle anti-clickjacking utiliser

X-Frame-Options et la directive CSP frame-ancestors contrôlent qui peut framer votre page. Ce que fait chacun, lequel gagne, et pourquoi envoyer les deux.

CentralCSP Team ·

Ajouter un nonce CSP frais à un site statique avec nginx

Un site statique ne possède pas de backend pour générer un nonce CSP. Placez un marqueur non devinable dans votre HTML et laissez nginx générer et injecter un nonce frais à chaque requête.

CentralCSP Team ·

script-src-elem contre script-src-attr, quelle directive CSP contrôle quoi

script-src-elem contrôle les éléments script et script-src-attr contrôle les event handlers inline. Comment ils divisent script-src et quand poser chacune.

CentralCSP Team ·

SameSite contre les tokens CSRF, faut-il garder le token

SameSite est une vraie défense en profondeur contre le CSRF mais reste limité au site et dépendant du navigateur. Il ne remplace pas les tokens CSRF.

CentralCSP Team ·

no-cache vs no-store, quelle directive Cache-Control garde les données privées

no-cache laisse une réponse être stockée mais revalidée, no-store interdit tout stockage. Pour les pages sensibles, choisissez no-store.

CentralCSP Team ·

HSTS contre upgrade-insecure-requests, faut-il les deux

HSTS force HTTPS au niveau de la navigation et upgrade-insecure-requests réécrit les sous-ressources en mixed content. Complémentaires, pas des alternatives.

CentralCSP Team ·

Où vont les rapports CSP du navigateur et comment les recevoir

Un endpoint de rapport CSP est une URL vers laquelle le navigateur poste les violations. Content types, volume, et construire ou acheter un collecteur.

CentralCSP Team ·

Ce que fait unsafe-eval en CSP et comment le retirer

unsafe-eval réactive eval, new Function et les timers à chaîne, ce qui affaiblit votre CSP face au XSS. Voici où il se glisse et comment le retirer.

CentralCSP Team ·

Hashes SRI automatiques avec webpack et Vite

Hasher chaque chunk à la main est impraticable. Laissez webpack et Vite générer les attributs integrity SRI au build, et surveillez les scripts CDN non couverts.

CentralCSP Team ·

SRI contre hash CSP, deux hashes aux rôles différents

SRI et les hashes CSP se ressemblent mais vérifient des choses différentes. SRI contrôle les octets du fichier externe, un hash CSP autorise du code inline.

CentralCSP Team ·

ReportingObserver, capter les deprecations et violations CSP en JavaScript

ReportingObserver permet à une page de lire ses propres rapports de deprecation, intervention et CSP en JavaScript, sans header. Comment le brancher dans un pipeline front-end.

CentralCSP Team ·

Verrouiller les fonctionnalités du navigateur avec Permissions-Policy et recevoir des reports

Permissions-Policy contrôle quelles fonctionnalités puissantes du navigateur une page et ses iframes peuvent utiliser. La syntaxe du header, l'attribut allow, et comment recevoir des reports.

CentralCSP Team ·

La sécurité côté client de PCI DSS v4 expliquée aux responsables conformité

Un guide en langage clair des exigences 6.4.3 et 11.6.1 de PCI DSS v4, des preuves attendues par un auditeur, et comment un inventaire de scripts et la détection de changement les fournissent.

CentralCSP Team ·

Magecart et formjacking, comment détecter un skimmer côté client

Ce que sont Magecart et le formjacking, pourquoi un serveur ne voit jamais le skimmer, et comment un inventaire de scripts, des alertes de changement et une CSP stricte le détectent.

CentralCSP Team ·

Imposer SRI sur chaque script avec Integrity-Policy

Le header de réponse Integrity-Policy impose Subresource Integrity sur chaque script avec un seul header et signale les scripts qui en manquent.

CentralCSP Team ·

Comment améliorer votre note de headers de sécurité

Une note de headers de sécurité basse a une liste de correctifs. Réglez CSP, HSTS, X-Content-Type-Options, frame-ancestors, Referrer-Policy et Permissions-Policy correctement.

CentralCSP Team ·

Comment configurer le Reporting API du navigateur

Déclarez un endpoint de reporting, pointez une politique vers lui, et lisez le premier rapport envoyé par le navigateur. Un guide pratique de bout en bout.

CentralCSP Team ·

Google Tag Manager sous une CSP stricte dans Next.js

Faites tourner Google Tag Manager dans une app Next.js App Router sous une CSP stricte à nonce et strict-dynamic. Nonce par requête, amorçage GTM, et où vont les hosts Google.

CentralCSP Team ·

Comment les attaquants détournent Google Tag Manager, et comment une CSP stricte le contient

Google Tag Manager sert à injecter des scripts, donc un conteneur compromis livre du JS partout. Comment une CSP stricte et la surveillance des scripts le contiennent.

CentralCSP Team ·

Comment générer un hash Subresource Integrity (SRI)

Générez un hash Subresource Integrity avec le générateur SRI, ajoutez les attributs integrity et crossorigin, et évitez les pièges qui le cassent.

CentralCSP Team ·

Protection anti-clickjacking quand vous ne pouvez pas poser de header CSP

frame-ancestors ne fonctionne que comme vrai header, pas dans une balise meta. Découvrez le repli X-Frame-Options et quoi faire quand les headers sont limités.

CentralCSP Team ·

Comment corriger un constat Unsafe Implementation of Subresource Integrity

Une note de sécurité a signalé un constat Unsafe Implementation of Subresource Integrity. Le workflow de remédiation, trouver les scripts, les hasher, déployer sans risque.

CentralCSP Team ·

Comment corriger les constats CSP de SecurityScorecard

Reliez chaque constat SecurityScorecard sur la politique de sécurité du contenu à une correction concrète report-only puis application, du header manquant aux directives trop larges.

CentralCSP Team ·

Comment activer Trusted Types avec une CSP pour stopper le XSS DOM

Activez Trusted Types avec require-trusted-types-for script et la directive trusted-types pour verrouiller les sinks XSS DOM, en Report-Only pour commencer.

CentralCSP Team ·

CORP vs COEP, deux faces de la même isolation cross-origin

CORP est posé par la ressource pour dire qui peut la charger, COEP est posé par la page pour exiger un opt-in explicite. Comment les deux headers coopèrent.

CentralCSP Team ·

Configurer les fonctionnalités par document avec Document-Policy

Ce que fait le header Document-Policy, la variante report-only, et comment recevoir les reports document-policy-violation via la Reporting API.

CentralCSP Team ·

Rapports de deprecation et intervention, anticipez les changements de navigateur qui cassent votre site

Les rapports de deprecation annoncent la fin prochaine des API et les rapports intervention signalent une décision du navigateur, tous deux via le Reporting API.

CentralCSP Team ·

Comment déboguer les violations CSP dans Chrome DevTools

Lisez le message console Refused to load, utilisez le panneau Issues et reliez une violation CSP à la directive que vous devez corriger.

CentralCSP Team ·

CSP et PCI DSS v4, répondre à 6.4.3 et 11.6.1 sur les pages de paiement

Ce que les exigences PCI DSS v4 6.4.3 et 11.6.1 demandent sur les pages de paiement, et comment une CSP plus inventaire de scripts et alerte sur changement vous donnent la preuve.

CentralCSP Team ·

Comment mettre en place un nonce CSP, par requete, avec Express, Next.js et nginx

Un nonce CSP autorise des scripts inline precis sans unsafe-inline. Voici comment en generer un par requete et le brancher dans Express, Next.js et nginx.

CentralCSP Team ·

Comment generer un hash CSP (sha256) pour un script inline

Un hash CSP autorise un script inline precis par son contenu. Voici comment calculer un hash sha256, ou il se place, et comment il se compare a un nonce.

CentralCSP Team ·

Connection Allowlists, un bac à sable des sorties réseau dans le navigateur

Connection Allowlists permet à une page de déclarer chaque destination qu elle peut contacter, donc le navigateur bloque l exfiltration de données par tout canal. Comment fonctionne le nouveau header.

CentralCSP Team ·

Rapports de crash et de page bloquée du navigateur, un signal de disponibilité côté client

Un rapport de crash signale que le navigateur a tué ou figé la page, livré à la prochaine visite sur votre origine. Ce que contient un rapport et comment le lire.

CentralCSP Team ·

report-uri vs report-to, et comment migrer

report-uri est la directive de reporting CSP dépréciée et report-to la remplace. Ce qui change, en quoi elles diffèrent et comment envoyer les deux sans risque.

CentralCSP Team ·

Comment lire un rapport de violation CSP

Ce que signifie chaque champ d'un rapport de violation CSP, dans la forme moderne de la Reporting API comme dans la forme historique report-uri, pour lire un rapport réel.

CentralCSP Team ·

Comment définir le header Content-Security-Policy dans chaque framework

Des méthodes à copier-coller pour envoyer le header CSP avec nginx, Apache, Express, Django, Next.js, Nuxt, Laravel et Angular, et comment vérifier son envoi réel.

CentralCSP Team ·

strict-dynamic expliqué, abandonnez les allowlists de hosts pour une CSP stricte

Ce que fait le mot-clé strict-dynamic, comment il fonctionne avec un nonce ou un hash, et pourquoi il vous permet de cesser de maintenir de longues allowlists de hosts dans votre CSP.

CentralCSP Team ·

CSP pour les services Google, la fiche des hosts

Les directives CSP dont chaque service Google a besoin, Maps, Fonts, reCAPTCHA, YouTube et Ads, avec un workflow Report-Only en premier.

CentralCSP Team ·

Report-To vs Reporting-Endpoints, migrer hors du header déprécié

Report-To est le header de reporting v0 déprécié et Reporting-Endpoints son remplaçant v1 moderne. Ce qui change, et le seul cas où Report-To reste nécessaire.

CentralCSP Team ·

Qu'est-ce que NEL, le network error logging du navigateur

Network Error Logging demande au navigateur de vous rapporter les échecs DNS, TLS, de connexion et HTTP, y compris ceux qui n'atteignent jamais votre serveur.

CentralCSP Team ·

COOP et COEP expliqués, isolation cross-origin en pratique

Ce que font Cross-Origin-Opener-Policy et Cross-Origin-Embedder-Policy, pourquoi les deux sont nécessaires pour isoler cross-origin, et comment les déployer en report-only.

CentralCSP Team ·

Headers de sécurité hérités que vous pouvez retirer

X-Frame-Options, X-XSS-Protection, Feature-Policy et report-uri ont des remplaçants modernes. Quels anciens headers abandonner, lesquels garder, et ce qui remplace chacun.

CentralCSP Team ·

Un modèle de CSP de départ à copier puis resserrer

Un modèle de politique de sécurité du contenu stricte à coller, lancer en report-only et resserrer ligne par ligne, avec une fiche par directive.

CentralCSP Team ·

Extension Chrome CentralCSP

Concevez, déboguez et déployez une politique de sécurité du contenu sur de vraies pages de production depuis votre navigateur, sans déploiement. Extension CentralCSP gratuite.

CentralCSP Team ·

trusted-types-eval, autoriser eval plus prudemment dans une CSP

trusted-types-eval autorise eval et Function uniquement quand les Trusted Types sont appliqués, donc il remplace unsafe-eval sans tout laisser ouvert.

CentralCSP Team ·

Comment les mots-clés CSP report-sha révèlent chaque script chargé

Comment les mots-clés CSP report-sha256, report-sha384 et report-sha512 rapportent les hashs de scripts pour inventorier ce qui tourne sur vos pages.

CentralCSP Team ·

Le header Reporting-Endpoints expliqué

Comment le header HTTP Reporting-Endpoints et la directive CSP report-to acheminent les rapports du navigateur, avec syntaxe, endpoint default et motif envoyer-les-deux.

CentralCSP Team ·

Le schéma blob dans la Content Security Policy

Les URL blob exigent une autorisation explicite en CSP. self et le wildcard ne les couvrent pas, et autoriser blob dans script-src revient à unsafe-eval.

CentralCSP Team ·

Le schéma data dans la Content Security Policy

Pourquoi data convient à img-src et font-src mais reste un vrai vecteur XSS dans script-src, et comment le permettre par directive sans affaiblir votre CSP.

CentralCSP Team ·

Construire un inventaire de scripts avec le hash reporting CSP

Utilisez le hash reporting CSP pour inventorier chaque script exécuté par le navigateur et produire des preuves pour PCI DSS v4 6.4.3 et 11.6.1.

CentralCSP Team ·

Comment protéger les scripts CDN avec Subresource Integrity

Subresource Integrity laisse le navigateur vérifier la correspondance entre un script CDN et un hash que vous fournissez, bloquant le code tiers altéré.

CentralCSP Team ·

Construire une CSP solide, étape par étape

Une méthode concrète pour construire une politique de sécurité du contenu, du mode Report-Only strict à la mise en application.

CentralCSP Team ·

Comment utiliser le CSP Builder

Construisez une politique de sécurité du contenu fonctionnelle à partir de vrais reports de violation. Choisissez une politique, une fenêtre, générez, revoyez chaque source, puis déployez.

CentralCSP Team ·

BitSight RAU25 et pourquoi la CSP est désormais notée

BitSight RAU25 a retiré Web Application Headers au profit de Web Application Security le 10 juillet 2025. Voici comment la CSP est notée et comment la corriger.

CentralCSP Team ·

Comment corriger les constats CSP de BitSight

Un workflow report-only puis application pour corriger les constats CSP de BitSight sous la notation Web Application Security de RAU25.

CentralCSP Team ·

Comment les endpoints JSONP contournent votre CSP

Une allowlist de hosts qui fait confiance à un endpoint JSONP offre aux attaquants du script arbitraire. Voici comment le contournement opère et comment le fermer.

CentralCSP Team ·

Pourquoi ne jamais utiliser unsafe-inline dans une CSP

unsafe-inline réactive les scripts inline que la CSP bloque par défaut et annule sa protection XSS. Préférez les nonces, les hash ou des fichiers externes.

CentralCSP Team ·

Débuter avec la Content Security Policy

Un guide CSP pour débutants. Définition, livraison, première politique, premier nonce, et test sans risque avec Report-Only.

CentralCSP Team ·

Mettre en place un nonce CSP dans Next.js

Ajoutez une Content Security Policy stricte basée sur un nonce à une app Next.js App Router. Générez le nonce dans proxy.ts et laissez Next l appliquer.

CentralCSP Team ·

CSP pour Google Analytics et Tag Manager avec un nonce

Faites tourner GA4 et Google Tag Manager sous une CSP stricte avec un nonce et strict-dynamic. Aucun host Google dans script-src, avec un exemple de header complet.

CentralCSP Team ·

Démarrer avec le reporting CSP

Configurez le reporting des violations CSP de façon moderne avec Reporting-Endpoints et report-to, démarrez en report-only, et lisez le contenu du rapport.

CentralCSP Team ·

Mode enforce ou report-only de la CSP

Content-Security-Policy bloque les violations, Report-Only se contente de les observer. Quand utiliser chacun et comment exécuter les deux.

CentralCSP Team ·

Plusieurs politiques CSP sur une même page

Comment un navigateur combine plusieurs politiques CSP, par header, meta et Report-Only, et pourquoi des politiques supplémentaires ne font que restreindre.

CentralCSP Team ·

Balise meta CSP ou header HTTP

Déployez votre politique de sécurité du contenu (CSP) via un header HTTP, pas une balise meta. Le header agit plus tôt et accepte toutes les directives.

CentralCSP Team ·