Olvidé editar CSP al agregar código de seguimiento a través de un componente personalizado

He intentado agregar

en </head>

<!-- Matomo - head -->
<script type="text/discourse-plugin" version="0.2">
    // Rastrear vistas de página 
    api.onPageChange((url, title) => {
        if (_paq) {
            try {
                var currentUser = PreloadStore.get('currentUser');
                _paq.push(['setCustomVariable', 3, 'Estado del foro', !currentUser ? 'Anónimo' : 'Usuario conectado', 'visit']);
            } catch(e) {} 
              
            _paq.push(["setCustomUrl", url]);
            _paq.push(["setDocumentTitle", title]);
            _paq.push(["trackPageView"]);
        }
    });
</script>
<!-- /Matomo - head -->

y luego en </body>

<!-- Matomo -->
<script type="text/javascript">
  var _paq = window._paq = window._paq || [];
  /* Los métodos del rastreador como "setCustomDimension" deben llamarse antes de "trackPageView" */
  _paq.push(['trackPageView']);
  _paq.push(['enableLinkTracking']);
  (function() {
    var u="https://stats.xxxxxxx.xxx/";
    _paq.push(['setTrackerUrl', u+'matomo.php']);
    _paq.push(['setSiteId', '8']);
    var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
    g.type='text/javascript'; g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
  })();
</script>
<!-- Fin del código de Matomo -->

Y todo lo que obtengo es que el código fuente HTML de la página solo muestra los comentarios HTML. Parece que las etiquetas <script> han sido eliminadas.
¿Existe alguna configuración de seguridad que deba activarse para permitir scripts en esas áreas?

<!-- Matomo - head -->

<!-- /Matomo - head -->
[...]
<!-- Matomo -->

<!-- Fin del código de Matomo -->

Gracias por tu ayuda

1 me gusta

Debes usar este script para habilitar Matomo Analytics en Discourse

1 me gusta

Gracias, eso debería resolver mi problema actual…

Pero ¿no debería ser posible inyectar JavaScript personalizado en esas secciones de todos modos?

He instalado el componente y lo he activado para el tema “Default”… pero no parece funcionar mejor :-/

1 me gusta

¿Has revisado los registros de tu navegador? ¿Has añadido el host del script de Matomo a la lista de configuración de CSP?

1 me gusta

Lo has acertado… No estaba al tanto de una configuración de CSP…

Eso es algo de lo que los registros del navegador siempre advertirán, así que siempre revisa esos.

1 me gusta

Hola @Falco, creo que tengo el mismo problema con Matomo no funcionando con Discourse. Esto es lo que me dijo el equipo de soporte de Matomo cuando abrí un ticket en su GitHub:

Soporte de Matomo: “He revisado tu sitio web y la CSP configurada está impidiendo la carga de nuestro rastreador. Deberías consultar https://matomo.org/faq/general/faq_20904/ y verificar cómo se puede configurar en tu entorno de servidor.”

Fui a los registros de mi Discourse (URL/logs) y no pude encontrar nada relacionado.

Mi Discourse está en esta URL: https://hec.fm
Y mi instancia de Matomo en: https://stats.hec.fm

Pensé que ya había modificado la CSP en la configuración para que funcionara, pero sigue sin funcionar:

Pensé que había seguido cuidadosamente el tutorial Script para habilitar Matomo Analytics en Discourse, pero parece que no fue suficiente.

¿Qué hice mal? :slightly_smiling_face:

Veo que el script de Matomo se carga correctamente en hec.fm, por lo que no se trata de un problema de CSP. ¿Quizás sea algo más por parte de Matomo?

Además, las filas que aparecen debajo de https://stats.hec.fm/Matomo en tu captura de pantalla anterior son innecesarias.

3 Me gusta