Skip to main content
Antes de empezar
Language

Cloudflare Workers

Agregue cside fingerprinting con un Cloudflare Worker gestionado por el cliente que inyecta el script en respuestas HTML.

Use esta guía si quiere desplegar cside fingerprinting en el edge de Cloudflare. Esta es una receta de Worker gestionada por el cliente. cside no necesita administrar su cuenta de Cloudflare para este setup.

Antes de empezar

Necesita:

  • Una zona de Cloudflare que enrute el tráfico de las páginas que quiere fingerprint
  • Permiso para crear o editar Workers y rutas de Worker
  • La URL del script de cside fingerprinting para su dominio
  • Un endpoint backend que reciba la cadena del token extraída de la respuesta JSON devuelta por /client
Revise rutas existentes

Cloudflare permite solo un Worker en una ruta coincidente. Si otro Worker ya maneja la misma ruta, combine la lógica o elija una ruta de prueba más estrecha.

Despliegue recomendado

Empiece con una ruta limitada, como /login* o /checkout*, antes de aplicar el Worker a todo el sitio. Mantenga el Worker fail-open para que un problema de cside o del Worker no bloquee la entrega de páginas.

Consulte la guía de Workers Routes de Cloudflare para saber cómo aplicar un Worker a una ruta.

Ejemplo de Worker

Guarde su URL de script de cside como CSIDE_FINGERPRINT_SCRIPT_URL en el entorno del 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;
    }
  },
};

Intercambio de token

El Worker solo inyecta el script del navegador. Su aplicación sigue llamando a sendClientTelemetry(externalIds?), recibe { token } desde /client y envía ese token de sesión a su backend.

Su backend intercambia el token de sesión bruto con cside:

curl https://api.cside.com/token/v1/client \
  --request POST \
  --header "Content-Type: text/plain" \
  --data "$CSIDE_FINGERPRINT_SESSION_TOKEN"

Consulte Recuperar datapoints para ver las opciones de recuperación.

Notas operativas

  • Use rutas estrechas para el primer despliegue
  • Mantenga el Worker fail-open
  • No inyecte el script en respuestas que no sean HTML
  • Confirme que su CSP permite la URL del script de cside y el endpoint de intercambio de token
  • Pase de rutas de prueba a cobertura completa después de ver datapoints en cside
Was this page helpful?