Refused to execute inline script because it violates the following Content ...

Réduire
X
 
  • Filtrer
  • Heure
  • Afficher
Tout effacer
nouveaux messages

  • [Problème] Refused to execute inline script because it violates the following Content ...

    Bonjour,
    Je viens vers vous pour un problème sur lequel je m'arrache les cheveux depuis ce matin. Le site de la chambre d'hôtes d'un ami n'a pas été modifié depuis une semaine et fonctionnait très bien hier. Mais depuis cette nuit apparemment, le site ne s'affiche pas correctement, deux modules SlideshowCK et HighlighterGK ne s'affichant pas et étant bloqués. Sur mobile, le menu ne s'affiche pas correctement.
    J'ai désactivé (et réactivé) une à une les diverses extensions du site, mais sans effet. J'ai changé la template pour revenir sur Protostar : sans succès (je suis revenu sur le template). J'ai réinstallé les fichiers système de Joomla : sans succès. Dans l'administration de Joomla, je peux accéder aux extensions, aux articles, mais les fonctions (enregistrer, fermer...) sont inopérants. Dans certains menus (comme les infos système), je n'ai que le premier onglet, les autres n'apparaissant pas).
    Par contre, sous IE11 (au boulot, on a encore ce vieux navigateur), aucun souci d'affichage sur le site ni sur la console de Joomla : tout est pleinement fonctionnel.

    Dans l'inspecteur de Chrome, je constate trois erreurs : Refused to execute inline script because it violates the following Content Security Policy directive: "script-src 'self' https://apis.google.com". Either the 'unsafe-inline' keyword, a hash ('sha256-Zh07FGv/zmNuS1H3An4KmNr+jDFvbtmuebWlYkqk5KI='), or a nonce ('nonce-...') is required to enable inline execution.

    Joomla est à jour, tout comme l'ensemble des extensions. Le site tourne sous Apache 2.4.29, avec PHP 7.1.3 sur une offre Essentiel d'Online.
    J'avoue être complètement perdu et j'espère que vous pourrait m'aider.

    D'avance, merci


  • #2
    Bonjour,

    Vous avez implémenté la "content security policy" et c'est bien.

    Le type d'erreur que vous évoquez est fréquent quand on débute ou que l'on installe de nouvelles extensions.

    Quel plugin/outil utilisez-vous pour la paramétrer ? directement dans le htaccess ou autrement ?

    Il s'agit d'une sécurité pour vérifier que l'on n'exécute pas n'importe quoi sur votre site et cela bloque pas mal de tentatives d'intrusion, mais, il faut savoir d'où viennent les appels et s'ils sont normaux.

    Dans votre cas, il y a bien des scripts "inline" qui ont été générés, entre autres, par SlideShowCK, votre gestionnaire de cookies et le menu.

    Donc, pour que cela fonctionne il faut ajouter, comme le recommande Chrome, soit unsafe-inline dans vos paramètres CSP (c'est le plus simple, mais aussi le moins sécurisé).

    Pascal
    Zwitefli et cavo789 aiment ceci.
    If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

    Commentaire


    • #3
      En complément, il y a déjà eu plusieurs discussions sur ce sujet : https://forum.joomla.fr/forum/joomla...gin-httpheader et https://forum.joomla.fr/forum/joomla...uoi-et-comment , ...

      Personnellement, j'ai fait quelques extensions/modules compatibles CSP, mais, c'est une autre histoire (dont j'avais parlé lors des Joomla days 2018).

      Pascal
      Zwitefli aime ceci.
      If anything can go wrong, it will...If I can help, I will ..https://conseilgouz.com

      Commentaire


      • #4
        Avant tout, un immense merci pour la rapidité de votre réponse et sa clarté !

        Je vais le reconnaître : c'est un peu malgré moi que j'ai implanté cette CSP :-) Mais je suis content d'apprendre et c'est l'occasion de découvrir encore qqch que je ne connais pas vraiment. Pour l'instant, j'avais mis quelques lignes dans le HTAccess et je pense que j'ai eu de la chance de voir le site fonctionner sans souci ces derniers temps.

        J'ai ajouté le code de Cavo789 évoqué dans la discussion "Activer le HSTS" dans mon HTAccess et cela a rétabli pleinement le fonctionnement du site.
        J'ai installé le plugin et effectué les réglages. Sur le site HSTSPreload, j'ai un warning : "Unnecessary HSTS header over HTTPThe HTTP page at monsite sends an HSTS header. This has no effect over HTTP, and should be removed." mais le site "is eligible for preloading, although we recommend fixing the following warnings:"
        Je règlerai demain la question de la redirection (le code évoqué par Domallia : https://forum.joomla.fr/forum/joomla...51#post1991851 ) en l'ajoutant dans le HTAccess.

        Dans mon HTAccess, j'ai ceci pour rediriger le .fr vers le .com et la version www vers la version sans www :

        ## Mod_rewrite in use.

        RewriteEngine On
        RewriteCond %{HTTP_HOST} www.monsite.com
        RewriteRule (.*) http://monsite.com/$1 [R=301,L]

        RewriteCond %{HTTP_HOST} ^(www\.)?monsite.fr
        RewriteRule ^(.*) http://monsite.com/$1 [QSA,L,R=301]

        RewriteCond %{HTTPS} OFF
        RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI}

        Est-ce que je dois optimiser/modifier qqch dedans ? Supprimer pour insérer le code évoqué par Domallia (en l'adaptant) ?
        Dernière édition par Zwitefli à 29/12/2018, 14h10

        Commentaire

        Annonce

        Réduire
        Aucune annonce pour le moment.

        Partenaire de l'association

        Réduire

        Hébergeur Web PlanetHoster
        Travaille ...
        X