FLoC ou Federated Learning of Cohorts est un déploiement récent de Google pour remplacer les cookies tiers par leur propre navigateur intégré de surveillance des utilisateurs.
Il s'agit essentiellement d'un navigateur Chrome intégré lui-même et les personnes concernées par la confidentialité peuvent passer à un autre navigateur concerné par la confidentialité pour éviter d'être suivi. Mais les propriétaires de sites Web peuvent également désactiver FLoC en apportant quelques modifications simples à l'en-tête de réponse HTTP de leur serveur Web.
Je suggérerais de vérifier ceci Google et GitHub page pour en savoir plus sur FLoC.
Dans cet article, nous aborderons les moyens que vous pouvez utiliser en tant que propriétaire de site Web pour vous désinscrire de FLoC en modifiant simplement la configuration des serveurs Web.
En-tête HTTP personnalisé
Un en-tête de réponse HTTP personnalisé garantit que le propriétaire du site Web désactive FLoC. L'en-tête de réponse pour cela est:
Permissions-Policy: interest-cohort=()
Voyons la mise en œuvre.
NGINX
Pour NGINX, vous devez ajouter add_header
directive dans chaque bloc de serveur (si un seul fichier de configuration est utilisé pour plusieurs sites Web) ou à chaque fichier de configuration de serveur respectif.
server {
location / {
add_header Permissions-Policy interest-cohort=();
...
}
}
Et puis redémarrez le service NGINX:
systemctl restart nginx
Sinon, vous pouvez suivre une autre approche en ajoutant ce qui suit dans le http
bloque.
add_header Permissions-Policy "interest-cohort=()";
Cela ressemblerait à ci-dessous dans les en-têtes de réponse HTTP.
HTTP/1.1 200 OK
Server: nginx/1.14.1
Date: Fri, 30 Apr 2021 06:37:02 GMT
Content-Type: text/html
Content-Length: 4057
Last-Modified: Mon, 07 Oct 2019 21:16:24 GMT
Connection: keep-alive
ETag: "5d9bab28-fd9"
Permissions-Policy: interest-cohort=()
Accept-Ranges: bytes
Apache
Pour le serveur Web Apache, ajoutez l'en-tête personnalisé dans votre fichier de configuration comme suit:
<IfModule mod_headers.c>
Header always set Permissions-Policy: interest-cohort=()
</IfModule>
Ensuite, redémarrez Apache pour le rendre efficace:
systemctl restart httpd
Qui aura une sortie comme ci-dessous.
HTTP/1.1 200 OK
Date: Fri, 30 Apr 2021 06:49:58 GMT
Server: Apache/2.4.37 (centos)
Permissions-Policy: interest-cohort=()
Last-Modified: Thu, 29 Apr 2021 06:40:41 GMT
ETag: "3-5c116c620a6f1"
Accept-Ranges: bytes
Content-Length: 3
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html; charset=UTF-8
WordPress
Si votre WordPress est l'hébergement mutualisé, vous n'aurez pas la possibilité de modifier le fichier de configuration du serveur Web. Mais la bonne nouvelle est que vous pouvez définir des en-têtes dans sa base de code via des hooks. Dans votre thème actif function.php
, ajoutez les lignes suivantes à la fin:
add_filter(
'wp_headers',
function ( $headers ) {
if ( empty( $headers['Permissions-Policy'] ) ) {
$headers['Permissions-Policy'] = 'interest-cohort=()';
} elseif (
! empty( $headers['Permissions-Policy'] )
&& false === strpos( $headers['Permissions-Policy'], 'interest-cohort' )
) {
$headers['Permissions-Policy'] .= ', interest-cohort=()';
}
return $headers;
}
);
Enregistrez le fichier dans le backend d'administration de WordPress et l'en-tête doit être poussé dans toutes les nouvelles demandes. Assurez-vous de vider le cache dans son mécanisme / plugin pour rendre le nouvel en-tête efficace.
Voici à quoi ressemble la sortie de ma mise en œuvre.
cache-control: no-cache, must-revalidate, max-age=0
content-encoding: br
content-type: text/html; charset=UTF-8
date: Fri, 30 Apr 2021 13:40:14 GMT
expires: Wed, 11 Jan 1984 05:00:00 GMT
host-header: 6b7412fb82ca5edfd0917e3957f05d89
link: <https://geekflaresg.com/wp-json/>; rel="https://api.w.org/"
permissions-policy: interest-cohort=()
server: nginx
set-cookie: wpSGCacheBypass=1; expires=Fri, 30-Apr-2021 15:20:14 GMT; Max-Age=6000; path=/; HttpOnly; SameSite=Lax
vary: Accept-Encoding
x-cache-enabled: True
x-httpd: 1
x-proxy-cache: BYPASS
x-proxy-cache-info: 0 NC:100000 UP:SKIP_CACHE_SET_COOKIE
Une autre une solution simple serait d'utiliser le Plugin d'en-têtes HTTP.
HAProxy
HAProxy permet d'ajouter la directive d'en-tête dans sa configuration. Dans frontend
, listen
or backend
section de la configuration (selon le cas), ajoutez la directive suivante:
http-response set-header Permissions-Policy interest-cohort=()
Assurez-vous de redémarrer votre serveur HAProxy en tant que:
systemctl restart haproxy
Cela rendra l'en-tête efficace pour toutes les nouvelles demandes.
Traefik
Traefik, principalement utilisé comme contrôleur d'entrée pour le conteneurisé environnement, peut être configuré pour désactiver FLoC de la même manière que les serveurs ci-dessus. Dans votre traefik.toml
fichier, ajoutez les lignes suivantes:
[http.middlewares]
[http.middlewares.floc.headers]
[http.middlewares.floc.headers.customResponseHeaders]
Permissions-Policy = "interest-cohort=()"
Ou pour la configuration basée sur YAML (traefik.yml
) utiliser:
http:
middlewares:
floc:
headers:
customResponseHeaders:
Permissions-Policy: "interest-cohort=()"
Ou si vous utilisez Traefik avec Docker, modifiez l'étiquette traefik dans docker-compose.yml
comme:
labels:
- "traefik.http.middlewares.floc.headers.customresponseheaders.Permissions-Policy=interest-cohort=()"
Résumé
FLoC est un nouveau mécanisme de surveillance et si vous ne souhaitez pas afficher une publicité basée sur les intérêts sur votre site Web, vous pouvez vous désinscrire en mettant en œuvre les en-têtes de politique d'autorisations comme expliqué ci-dessus. En tant qu'utilisateur, vous pouvez consulter cette page dédiée (Suis-je FloCed?) pour voir si vous êtes suivi avec FLoC.