7997 sujets

Développement web côté serveur, CMS

Bonjour tout le monde,
Je sèche un peu...
J'utilise cookieconsent pour afficher le fameux message "Ce site utilise des cookies blablabla", c'est un petit script js chargé depuis cloudflare.com. Jusque là, tout fonctionne bien.
Seulement, je suis en train de mettre en place un header "Content Security Policy", sur lequel j'autorise l'accès à cloudflare pour les scripts et le style, mais malgré ça j'ai une erreur CSP car j'ai du contenu de style inline dans le fichier js de cookieconsent... Ça m'embêterait franchement de devoir ajouter 'unsafe-inline' juste pour ça. Des idées?

header("Content-Security-Policy: 
   default-src 'self'; 
   script-src 'self' cdnjs.cloudflare.com ajax.googleapis.com;
   style-src 'self' cdnjs.cloudflare.com;");

Merci pour votre aide Smiley smile
Modifié par Mathieu8337 (13 Nov 2019 - 09:31)
Bon finalement j'ai trouvé la solution Smiley smile Du coup je la poste ici au cas où quelqu'un rencontrerait le même souci...
En fait, du style inline est créé lorsqu'on utilise la fonction "palette" de cookieconsent (personnalisation de la couleur du bandeau). Il suffit donc de remplacer ça:
	window.cookieconsent.initialise({
	  "palette": {
	    "popup": {
	      "background": "#ef8616",
	      "text": "#0a4393"
	    },
	    "button": {
	      "background": "#0a4393",
	      "text": "#ffffff"
	    }
	  }
	})

par ça (dans une feuille de style externe) :

/* popup */
.cc-window { background: #ef8616; color: #0a4393; }
.cc-link {color: #fff;}

/* button */
.cc-btn {
  background: #0a4393;
  border: 1px solid transparent;
  color: #fff;
}

/* highlighted button */
.cc-btn.cc-highlight, .cc-btn:hover {
  background: #3069B9;
  border: 1px solid transparent;
  color: #fff;
}

et puis, accessoirement, ça permet d'agir un peu plus facilement sur le style du bandeau...

Voilà, en espérant que ça aide du monde
Meilleure solution