Geekflare est soutenu par notre public. Nous pouvons gagner des commissions d'affiliation en achetant des liens sur ce site.
Partager sur:

Comment bloquer FLoC en utilisant Nginx, Apache, WordPress, HAProxy et plus?

Scanner de sécurité des applications Web Invicti – la seule solution qui offre une vérification automatique des vulnérabilités avec Proof-Based Scanning™.

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.

Merci à nos commanditaires
Plus de bonnes lectures sur la confidentialité
Alimentez votre entreprise
Certains des outils et services pour aider votre entreprise à se développer.
  • Invicti utilise Proof-Based Scanning™ pour vérifier automatiquement les vulnérabilités identifiées et générer des résultats exploitables en quelques heures seulement.
    Essayez Invicti
  • Web scraping, proxy résidentiel, proxy manager, web unlocker, moteur de recherche et tout ce dont vous avez besoin pour collecter des données Web.
    Essayez Brightdata
  • Semrush est une solution de marketing numérique tout-en-un avec plus de 50 outils de référencement, de médias sociaux et de marketing de contenu.
    Essayez Semrush
  • Intruder est un scanner de vulnérabilités en ligne qui détecte les failles de cybersécurité de votre infrastructure, afin d'éviter des violations de données coûteuses.
    Essayez Intruder