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
- Microsoft security essentials - Télécharger - Antivirus & Antimalwares
- Site x - Guide
- Quel site remplace coco - Accueil - Réseaux sociaux
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