Aller au contenu

La politique de sécurité (CSP)

Si votre site envoie une politique de sécurité du contenu (Content-Security-Policy), elle doit autoriser deux choses vers l’adresse de collecte (COLLECT_URL) : charger le script, et lui envoyer des données.

Content-Security-Policy:
script-src 'self' https://stats.exemple.fr;
connect-src 'self' https://stats.exemple.fr;
DirectivePour
script-srccharger /a.js
connect-srcles envois à /collect (fetch et navigator.sendBeacon)

Le reste n’est pas nécessaire : le script ne crée ni style, ni image, ni cadre, et n’utilise pas eval.

La file d’appels avant le chargement est un script en ligne. Avec une politique stricte, donnez-lui le nonce de la page, ou autorisez son empreinte :

<script nonce="{{ nonce }}">
window.EodiaAnalytics = window.EodiaAnalytics || { q: [] };
/* … */
</script>

Ou placez-le dans un fichier de votre site, servi depuis 'self'.

Avec data-preview, une page ouverte en #eodia-preview charge aussi /p.js, depuis la même adresse de collecte : la directive script-src ci-dessus suffit. Si eodia insights affiche la page dans un cadre, la directive frame-ancestors du site doit autoriser l’adresse d’insights :

Content-Security-Policy: frame-ancestors 'self' https://insights.exemple.fr;

Si la collecte est servie depuis un sous-domaine du site — stats.maison-arvor.fr en CNAME —, c’est lui qu’on autorise. Voir le domaine de collecte.

eodia analytics est un logiciel libre d’Eodia.