Traduit de l'anglais à l'aide de l'IA
Veuillez noter que cet article a été traduit à l'aide de la technologie IA. Bien que nous travaillions à maintenir l'exactitude, certains détails peuvent ne pas refléter parfaitement le texte original. Si vous avez des doutes sur une information, veuillez vous référer à la version anglaise.
Pour que Contentsquare capture des données pour une URL, la balise Contentsquare doit être présente. Si vous devez implémenter la balise sur une page, vous devrez contacter votre Responsable de la Réussite Client pour obtenir de l'aide supplémentaire.
Liste de vérification de dépannage :
1. Tout d'abord, effacez le cache et les cookies de votre navigateur. Dans de nombreux cas, la cause principale peut être liée au cache. Veuillez vérifier si le problème est résolu après avoir effacé le cache et les cookies avant de continuer.
2. Assurez-vous que la page Web a fini de se charger avant de prendre un instantané dans l'analyse de zonage.
Assurez-vous de faire défiler jusqu'en bas d'une page pour vérifier que son chargement est complet avant de prendre votre instantané et de l'enregistrer.
3. Vérifiez la période choisie dans le contexte de l'analyse :
- La balise Contentsquare était-elle active à ce moment-là ?
-
Ou la page a-t-elle subi des modifications entre la date de création de la zonage et la période de temps sélectionnée ? (par exemple, votre page a changé le 8 janvier. Vous avez créé la zonage le 19 janvier : choisissez une période de temps commençant après le 8 janvier pour votre analyse).
Comment l'analyse de zonage et les replays collectent-ils des 'ressources statiques' pour recréer automatiquement mon site ?
Lisez cet article pour en savoir plus sur la façon dont Contentsquare collecte les ressources statiques de votre site à l'aide des CS Scrapers.
Comment Zoning et Replays utilisent-ils les 'Live assets' lorsque les ressources statiques ne sont pas disponibles ?
Live assets utilisent les URL en direct des ressources d'une page (CSS, images, polices) pour rendre cette page dans l'analyse Zoning de Contentsquare et les fonctionnalités de replay de session si les CS Scrapers ne peuvent pas télécharger et stocker toutes vos ressources statiques.
- Dans l'analyse Zoning, si les ressources statiques ne sont pas disponibles, Contentsquare récupère le contenu de votre site en direct pour que vous puissiez l'analyser.
- Dans le replay de session, si les ressources statiques ne sont pas disponibles, vous pouvez temporairement sélectionner l'option 'Utiliser les live assets' dans le lecteur pour analyser les données de votre site en direct.
Pourquoi mon zoning/replay ne s'affiche-t-il pas correctement ?
Les pages utilisant l'élément HTML <dialog>
peuvent ne pas se charger correctement dans Zoning ou CS Live.
Nous avons identifié une limitation technique qui empêche les instantanés de s'afficher correctement lorsque l'élément <dialog>
est présent. Nous explorons activement des solutions et mettrons à jour cette page.
Il existe plusieurs raisons pour lesquelles Contentsquare ne pourrait pas télécharger les ressources statiques de votre site :
Authentification | la ressource est authentifiée (généralement avec un cookie) |
Restriction géographique | la ressource n'est disponible que pour certaines localisations géographiques (généralement par pays) |
VPN | la ressource est derrière un réseau privé et n'est pas disponible sur Internet |
En-têtes/cookies spéciaux
|
la ressource nécessite un en-tête ou un cookie spécifique
|
Interdiction d'IP
|
l'IP du proxy passerelle est bannie par le serveur client cible
|
Comment faire fonctionner les zonings et les replays avec votre site web
- Responsable de la réussite client
- Fournisseur de réseau de distribution de contenu (CDN)
Voici les différentes méthodes disponibles pour configurer votre site afin qu'il fonctionne avec Contentsquare.
Créer un en-tête personnalisé (Méthode préférée)
Créer un en-tête personnalisé “X-CONTENTSQUARE-SIGNATURE” pour valider nos demandes est généralement effectué lors de votre mise en œuvre de Contentsquare, si vous n'avez pas déjà d'en-têtes personnalisés mis en œuvre et que vous souhaitez le faire, veuillez contacter votre CSM pour plus d'assistance.
Raisons pour lesquelles l'en-tête personnalisé est préféré
- Il est à l'épreuve du futur, c'est-à-dire que si nos IP changent, cela n'affectera pas la fonctionnalité de zonage/replay de session, car vous n'utiliserez pas une méthode de liste blanche d'IP.
- Fournit la capacité de surveiller chaque requête entrante depuis le proxy en filtrant à l'aide de notre en-tête personnalisé.
- Il est plus sécurisé que l'utilisation d'un en-tête personnalisé statique.
Comment cela fonctionne
Lorsque vous créez votre projet Contentsquare, une signature unique est générée. Contentsquare utilise cette signature unique dans l'en-tête de toutes nos requêtes HTTP. Pour permettre aux requêtes d'être effectuées côté serveur, vous devrez valider les requêtes avec la valeur de l'en-tête "X-CONTENTSQUARE-SIGNATURE".
Voici les trois éléments principaux qui génèrent votre signature unique :
1. Un horodatage
2. Domaine de la ressource ex : https://www.cstore.com/other/microsoftteams-image-219_23938923.png
3. Le secret de votre projet (chaque projet CS a un secret généré lors de la création du projet que Contentsquare stocke) :
Voici un exemple de la façon dont il est généré -
Contentsquare génère un horodatage avec
Date.now()
, hache le secret du projet que nous avons obtenu des paramètres du proxy (cf. point 3 ci-dessus). Utilisez le domaine de la ressource (cf. point 2) avec l'horodatage et mettez à jour le hachage avec cela. Ensuite, nous construisons une nouvelle chaîne avec l'horodatage et concaténons le digest en “base64” à cela. Résultat : "timestamp-hash"
Exemple de requête d'en-tête -
Comment décoder la signature
- Analysez la chaîne pour extraire l'horodatage (égal à 1674119100708 dans l'exemple ci-dessus).
- Utilisez le domaine de la ressource.
- Contentsquare a votre secretSignature, et vous devrez le demander à votre CSM.
Une fois que vous avez les trois piliers utilisés pour générer la signature, vérifiez-la par rapport à celle de Contentsquare et validez-la.
Comment valider la signature
- Prenez le secret et utilisez la fonction cryptographique “sha256” dessus.
- Ensuite, mettez à jour le hachage avec l'horodatage et le domaine.
- Composez une chaîne avec l'horodatage et le digest en encodage base64 : "{timestamp}-{digestBase64/hash}".
- Selon votre backend, vous devrez trouver un processus pour générer dynamiquement la signature et valider les requêtes avec le X-CONTENTSQUARE-SIGNATURE.
Pour plus de sécurité, il est possible de vérifier que l'horodatage est dans une certaine plage horaire par rapport à maintenant. Dans l'exemple de code suivant, nous vérifions qu'il n'a pas plus de 5 minutes – s'il est plus ancien, le code rejette la signature.
Mise en œuvre avec exemple de code
NodeJS :
const crypto = require('crypto'); const secret = 'secretKey'; // Donné par quelqu'un du CS receivedHeaderExample = '1617243555555-D9gh1234G56789HijklMnopQrstuvWxYz='; // Extraire le timestamp et le digest de l'en-tête reçu const [timestamp, receivedDigest] = receivedHeaderExample.split('-'); // Exemple d'étape de sécurité supplémentaire pour s'assurer que le timestamp n'est pas trop ancien const currentTimestamp = Date.now(); if(currentTimestamp - timestamp > 5 * 60 * 1000) { throw new Error("Échec de la validation. La signature du timestamp est plus ancienne que 5 minutes"); } // Recréer la chaîne qui a été utilisée pour générer le digest const dataToSign = `${resourceDomain}-${timestamp}`; // Créer un nouveau digest en utilisant le même secret et algorithme const hmac = crypto.createHmac('sha256', secret); hmac.update(dataToSign); const generatedDigest = hmac.digest('base64'); // Comparer le nouveau digest généré avec celui reçu dans l'en-tête if (receivedDigest === generatedDigest) { console.log('L\'en-tête est valide'); // Code pour valider la demande }
Si l'en-tête personnalisé est implémenté correctement, vous ne devriez pas avoir besoin de mettre sur liste blanche les IP de votre côté.
Mettre sur liste blanche les IPs de Contentsquare
Il peut être nécessaire de mettre sur liste blanche les IPs de Contentsquare, auquel cas vous devriez consulter notre guide sur les adresses IP et les domaines à mettre sur liste blanche.
Utiliser un proxy
Contentsquare peut vous aider à contourner les restrictions géographiques en utilisant un proxy pour un emplacement différent. Un proxy a sa propre adresse IP et peut fonctionner dans une région spécifique du monde.