L’activer
Paramètres → Localisation des visiteurs du projet. Désactivée tant que vous ne l’activez pas.
Les en-têtes
X-Canner-IP-Country CA ISO country code, XX when unknown X-Canner-IP-Region QC subdivision, when known X-Canner-Consent-Mode opt-in opt-in or opt-out
Les mêmes valeurs sont aussi envoyées sous les noms X-Vercel-IP-Country, X-Vercel-IP-Country-Region et CF-IPCountry; le code écrit pour ces hébergeurs fonctionne tel quel. Tout ce qu’un visiteur envoie sous ces noms est remplacé : votre application peut s’y fier.
Bannières de témoins
X-Canner-Consent-Mode vaut opt-in pour l’UE et l’EEE, le Royaume-Uni, la Suisse, le Canada, le Brésil et la Corée du Sud, ainsi que pour tout visiteur que nous ne pouvons pas situer. Ailleurs, il vaut opt-out. C’est un point de départ, pas un avis juridique : validez-le avec les règles qui vous s’appliquent.
import { headers } from "next/headers";
const h = await headers();
const mode = h.get("x-canner-consent-mode") ?? "opt-in"; // opt-in when the header is missingapp.use((req, res, next) => {
res.locals.consent = req.get("x-canner-consent-mode") ?? "opt-in";
next();
});À savoir
- La position vient de l’adresse IP du visiteur : avec un VPN, c’est le pays du VPN. Le pays est juste la plupart du temps; ne l’utilisez pas pour bloquer l’accès.
- La recherche se fait sur nos serveurs, dans une base locale. L’adresse n’est pas conservée et rien n’est envoyé à un tiers.
- Derrière le proxy de Cloudflare, le pays de Cloudflare est utilisé. Les requêtes qui prétendent venir de Cloudflare d’ailleurs sont ignorées.
- Un projet où elle est activée n’est pas mis en cache par le cache de Canner : la page d’un pays n’est jamais servie à un autre.
- Si votre application réagit déjà aux en-têtes
cf-ipcountryoux-vercel-*, vérifiez-la avant d’activer. - En développement local, il n’y a pas d’en-têtes : prenez opt-in par défaut.