Cloudflare Workers
Ajoutez cside fingerprinting avec un Cloudflare Worker géré par le client qui injecte le script navigateur dans les réponses HTML.
Utilisez ce guide pour déployer cside fingerprinting à l’edge Cloudflare. Il s’agit d’une recette Worker gérée par le client. cside n’a pas besoin de gérer votre compte Cloudflare pour cette configuration.
Avant de commencer
Vous avez besoin de :
- Une zone Cloudflare qui route le trafic des pages à fingerprinter
- L’autorisation de créer ou modifier des Workers et routes Worker
- L’URL du script cside fingerprinting pour votre domaine
- Un endpoint backend qui reçoit la chaîne du token extraite de la réponse JSON renvoyée par
/client
Cloudflare n’autorise qu’un Worker par route correspondante. Si un autre Worker gère déjà le même chemin, fusionnez la logique ou choisissez une route de test plus étroite.
Déploiement recommandé
Commencez avec une route limitée, comme /login* ou /checkout*, avant d’appliquer le Worker à tout le site. Gardez le Worker fail-open pour qu’un problème cside ou Worker ne bloque pas la livraison des pages.
Consultez le guide Workers Routes de Cloudflare pour savoir comment appliquer un Worker à une route.
Exemple de Worker
Stockez l’URL de votre script cside dans CSIDE_FINGERPRINT_SCRIPT_URL dans l’environnement du Worker.
export default {
async fetch(request, env) {
const response = await fetch(request);
const contentType = response.headers.get("content-type") || "";
if (!contentType.includes("text/html")) {
return response;
}
try {
return new HTMLRewriter()
.on("head", {
element(element) {
element.append(
`<script src="${env.CSIDE_FINGERPRINT_SCRIPT_URL}" referrerpolicy="origin" data-src="6"></script>`,
{ html: true },
);
},
})
.transform(response);
} catch {
return response;
}
},
};
Échange du token
Le Worker injecte seulement le script navigateur. Votre application appelle toujours sendClientTelemetry(externalIds?), reçoit { token } depuis /client et envoie ce token de session à votre backend.
Votre backend échange le token de session brut avec cside :
curl https://api.cside.com/token/v1/client \
--request POST \
--header "Content-Type: text/plain" \
--data "$CSIDE_FINGERPRINT_SESSION_TOKEN"
Consultez Récupérer les datapoints pour les options de récupération.
Notes opérationnelles
- Utilisez des routes étroites pour le premier déploiement
- Gardez le Worker fail-open
- N’injectez pas le script dans les réponses non HTML
- Confirmez que votre CSP autorise l’URL du script cside et l’endpoint d’échange du token
- Passez des chemins de test à une couverture complète après avoir vu les datapoints dans cside
Thanks for your feedback!