Sécuriser mon site avec les content-security-policy
Bonjour à tous,
Je voudrais pouvoir rendre ma boutique en ligne la plus sécurisée possible.
Mais je rencontre un problème avec les Content-Security-Policy :
En utilisant ce code en .htaccess,
<IfModule mod_headers.c> Header set Content-Security-Policy "default-src 'self'; script-src 'self' https://cdnjs.cloudflare.com/ajax/libs/jquery/ 'unsafe-inline'; style-src 'self' 'unsafe-inline'; img-src 'self' data:; font-src 'self'; connect-src 'self'; frame-ancestors 'none'; base-uri 'none'; form-action 'self'; object-src 'none'; manifest-src 'none'; media-src 'none'; worker-src 'none'; upgrade-insecure-requests; block-all-mixed-content" </IfModule>
Lorsque je passe le test dans https://csp-evaluator.withgoogle.com/,
J'ai cette alerte :
"script-src : Les listes d'autorisation des hôtes peuvent souvent être contournées. Pensez à utiliser 'strict-dynamic' en combinaison avec des nonces ou des hachages CSP."
Cela pourrait se régler avec ce code ou quelque chose se rapprochant du code ci-dessous, sauf que les directives se font écraser par le serveur Apache de Hostinger.
<?php // Au début du fichier PHP, générez le nonce $nonce = base64_encode(random_bytes(16)); // Définir l'en-tête CSP avec le nonce header("Content-Security-Policy: default-src 'self'; " . "object-src 'none'; " . "script-src 'self' 'nonce-{$nonce}' https://cdnjs.cloudflare.com; " . "script-src-elem 'self' 'nonce-{$nonce}' https://cdnjs.cloudflare.com; " . "style-src 'self' 'unsafe-inline' https://cdnjs.cloudflare.com; " . "img-src 'self' data:; " . "media-src 'self'; " . "connect-src 'self'; " . "font-src 'self' https://cdnjs.cloudflare.com; " . "frame-ancestors 'none'; " . "base-uri 'self'; " . "form-action 'self';"); ?> <!-- Puis dans le HTML, utiliser le nonce dans les balises script --> <script nonce="<?php echo $nonce; ?>"> // Votre code JavaScript ici </script>
J'ai essayé des dizaines de configurations mais :
- soit j'ai des erreurs dans la console,
- soit la validation des en-têtes ne fonctionne pas parfaitement.
A voir également:
- Contentsecuritypolicy
- Site de telechargement - Accueil - Outils
- Site comme coco - Accueil - Réseaux sociaux
- Quel site remplace coco - Accueil - Réseaux sociaux
- Microsoft security essentials - Télécharger - Antivirus & Antimalwares
- Site x - Guide
1 réponse
Bonjour,
Je n'ai jamais mis en place ce mécanisme donc j'espère pouvoir te fournir une réponse utile.
- Avec htaccess: voir cette piste.
- Avec apache : voir cette piste.
- Avec PHP : si je me réfère à ce tutoriel j'ai l'impression qu'il manque dans ton en-tête l'attribut "strict-dynamic".
Content-Security-Policy: script-src 'nonce-{RANDOM}' 'strict-dynamic'; object-src 'none'; base-uri 'none';
Bonne chance