8722 sujets

Développement web côté serveur, CMS

bonjour
j'essaie depuis 2h de mettre le csp dans mon fichier htaccess
j'ai lu le sujet déja évoqué ici et ailleurs rien ne fonctionne

entre autres j'ai testé ceci
header("Content-Security-Policy: script-src style-src img-src 'self' royalplayaclub.be");
ou
Header set Content-Security-Policy "default-src 'self';"


mais. mon site est alors bloqué ou des bugs d'affichage

pfff
Modifié par drphilgood (03 Oct 2023 - 20:00)
ceci à l'air de fonctionner, "Header set Referrer-Policy "same-origin""
mais avec ce message de lighthouse

"No CSP found in enforcement mode"
Bonjour,
si tu es hébergé en gratuit chez free pages perso, le htaccess ne supporte pas le CSP, il faut le mettre dans les meta tag
 <meta http-equiv="Content-Security-Policy" content="default-src 'self';">

Le test sur LightHouse m'indique bien que j'ai un fichier CSP mais qu'il est préférable de le mettre dans le htaccess. Voici mon test, sur un site chez free pages perso.
a écrit :
Description Directive Severity
The page contains a CSP defined in a <meta> tag. Consider moving the CSP to an HTTP header or defining another strict CSP in an HTTP header.

Il faut savoir que si tu mets le CSP dans le html avec les meta tag, il va "nettoyer" tous les script JavaScript présents sur la page, c'est embêtant Smiley biggrin
Sur mon site, il n'y a pas de JavaScript sur la page html.
merci a tous. je commence a comprendre, un truc simple (théoriquement).
bonne nuit.

j'aime bien ce score
upload/1696372412-47649-capturedaeacran2023-10-04aa00.png
Modifié par drphilgood (04 Oct 2023 - 00:33)
C'est bien de nous donner des performances au top Smiley smile mais on aimerait savoir comment tu as réglé le problème, puisque on a tenté de te donner des solutions. Et le site, on peut le voir ?
N'ayant pas trop d'informations sur ton site, j'avais oublié d'en parler, mais il faut mettre des règles précises afin de ne pas perturber à la fois les style inline et les scripts inline. De cette façon :
# Content-Security-Policy
<IfModule mod_headers.c>
    Header set Content-Security-Policy "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'"
</IfModule>
# /Content-Security-Policy

C'est le unsafe-inline qui fait toute la différence.
voila voila j'ai ajouté la ligne referrer-policy au reste


<ifModule mod_headers.c>
# Protections diverses (XSS, clickjacking et MIME-Type sniffing)
Header set X-XSS-Protection "1; mode=block"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "same-origin"
Header always edit Set-Cookie ^(.*)$ $1;SameSite=strict
Header always set X-Content-Type-Options "nosniff"
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
Header set Referrer-Policy "same-origin"
</IfModule>


je vais voir aussi avec ton dernier code
merci
Modifié par drphilgood (04 Oct 2023 - 15:36)
j'ai ajouté ta ligne, çà fonctionne aussi


<ifModule mod_headers.c>
# Protections diverses (XSS, clickjacking et MIME-Type sniffing)
Header set X-XSS-Protection "1; mode=block"
Header set X-Frame-Options "SAMEORIGIN"
Header set X-Content-Type-Options "nosniff"
Header set Referrer-Policy "same-origin"
Header always edit Set-Cookie ^(.*)$ $1;SameSite=strict
Header always set X-Content-Type-Options "nosniff"
Header always set Strict-Transport-Security "max-age=63072000; includeSubDomains"
Header set Referrer-Policy "same-origin"
Header set Content-Security-Policy "default-src 'self'; style-src 'self' 'unsafe-inline'; script-src 'self' 'unsafe-inline'"
</IfModule>

Modifié par drphilgood (04 Oct 2023 - 15:42)
Bon, on s'amuse, parce que ce n'est pas demain matin que le NSA va attaquer nos petits sites. Je fais ça pour me familiariser avec le CSP et tes questions m'ont permis d'affiner. Je me suis en effet rendu compte fortuitement que mes vidéos ne fonctionnaient plus avec le CSP mis en place tout récemment sur mon site. Elle sont en effet déportées sur un cdn et il fallait aussi ajouter aux autres consignes données plus haut :
media-src 'self'  https://mesvideos.b-cdn.net;

et tout baigne.
Modifié par Bongota (04 Oct 2023 - 19:48)
j'avais encore un blocage pour l'image de mon compteur
et j'ai ajouté la derniere partie pour une img externe:

Header set Content-Security-Policy "default-src 'self';
style-src 'self' 'unsafe-inline';
script-src 'self' 'unsafe-inline';
img-src 'self' https://www.flaghit.com;"

et çà fonctionne
Modifié par drphilgood (05 Oct 2023 - 21:37)
Ton lien ne fonctionne pas, à cause de ;" après le com !
Noter que unsafe-inline n'est pas la panacé. L'avertissement de PageSpeed Insights le dit :
a écrit :
unsafe-inline' permet d'exécuter des gestionnaires d'événements et des scripts non sécurisés sur la page. Pensez à utiliser des nonces ou des hachages CSP pour autoriser les scripts un à un.
'
J'ai un peu regardé ce qui est préconisé, c'est du lourd. Le mieux est de toute façon d'éviter les scripts in-line, tout simplement. Ils sont d'ailleurs déconseillés en matière de sécurité.
et pour finir
j'ai ajouté les règles pour la police hébergée et google pour entre autre le formulaire qui est dans une page séparée

fonts-src 'self' 'unsafe-inline';

script-src 'nonce-{script value}' 'strict-dynamic' https: 'unsafe-eval' blob:; img-src 'self' https://*.googleapis.com https://*.gstatic.com *.google.com *.googleusercontent.com data:; frame-src *.google.com; connect-src 'self' https://*.googleapis.com *.google.com https://*.gstatic.com data: blob:;"
Meilleure solution