first commit
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
Feature: En-têtes de sécurité et Content-Security-Policy
|
||||
En tant qu'application web servie publiquement
|
||||
Je veux un ensemble d'en-têtes de sécurité durcis (CSP, X-Frame-Options, etc.)
|
||||
Afin de limiter la surface d'attaque (XSS, clickjacking, exfiltration)
|
||||
|
||||
@int-csp-html-injection
|
||||
Scenario: Le HTML injecte la balise meta Content-Security-Policy
|
||||
Given le plugin CSP est activé en production
|
||||
When l'index HTML de production est généré
|
||||
Then il contient une balise meta http-equiv "Content-Security-Policy"
|
||||
And la directive "frame-ancestors" vaut "'none'"
|
||||
And la directive "object-src" vaut "'none'"
|
||||
And aucune directive n'autorise "unsafe-eval" hors dev
|
||||
|
||||
@int-csp-matomo-origin
|
||||
Scenario: La CSP s'adapte à la configuration Matomo
|
||||
Given la variable de build "VITE_MATOMO_URL" vaut "https://analytics.example.com/"
|
||||
When la CSP est calculée pour la production
|
||||
Then la directive "script-src" autorise l'origine "https://analytics.example.com"
|
||||
And la directive "connect-src" autorise l'origine "https://analytics.example.com"
|
||||
And la directive "img-src" autorise l'origine "https://analytics.example.com"
|
||||
And la directive "default-src" reste limitée à "'self'"
|
||||
|
||||
@int-csp-serve-json
|
||||
Scenario: dist/serve.json expose les en-têtes à servir
|
||||
Given le build de production est exécuté
|
||||
When le fichier "dist/serve.json" est écrit
|
||||
Then il contient une règle ciblant les pages HTML avec une "Content-Security-Policy"
|
||||
And il contient "X-Content-Type-Options" avec la valeur "nosniff"
|
||||
And il contient "X-Frame-Options" avec la valeur "DENY"
|
||||
And il contient "Referrer-Policy" avec la valeur "strict-origin-when-cross-origin"
|
||||
And il contient "Permissions-Policy" désactivant caméra, micro et géolocalisation
|
||||
Reference in New Issue
Block a user