Como respeitar o “Do Not Track” em PHP?

A grande maioria dos alojamentos utiliza o PHP como base de toda sua programação, até porque a grande maioria dos sistemas de CMS ou e-commerce, ou mesmo de e-learning, são desenvolvidos nessa linguagem. Há sempre plugins, módulos e afins para lidar com particularidades e implementações em sistemas como o WordPress, Joomla, Drupal, Moodle e outros, porém aqueles que percebem o mínimo de programação podem lidar com a questão do “não rastrear” de forma simples.

Como explicamos, o HTTP DNT, ou “Do Not Track”, é um recurso existente hoje em todos os browsers. Ao acioná-lo, o usuário emite um aviso de que não deseja ser rastreado. Contudo, cabe ao proprietário do site incumbir-se do modo de fazê-lo.



Como condicionar o Google Analytics ao HTTP DNT

É possível condicionar o carregamento de scripts de rastreio como o do Google Analytics facilmente utilizando PHP. É preciso detetar a requisição, verificar até que ponto o HTTP DNT possui valor positivo (“1”) e então suspender o carregamento. Para tanto, é preciso inserir o script de rastreio do Analytics dentro de uma rotina condicional em PHP, como mostra o exemplo:

<?php
$DNT = 'HTTP_DNT';
if (isset($_SERVER[$DNT]) && $_SERVER[$DNT] == 1) {
// DO NOT TRACK habilitado
}
else {
// DO NOT TRACK desabilitado - inserir códigos a carregar aqui
}
?>

No exemplo, é possível gerar um comportamento também se o usuário possui o HTTP DNT habilitado. Poderíamos, por exemplo, exibir uma mensagem a alertar o usuário de que os scripts de rastreio estão desligados em respeito à configuração de privacidade e normas do RGPD. Pode-se ainda apenas verificar a existência da instrução HTTP DNT na requisição do usuário e, uma vez que exista e seu valor não seja igual a “1”, só então carregar o script ou scripts de rastreio:

<?php
if (!array_key_exists('HTTP_DNT', $_SERVER) || (1 !== (int) $_SERVER['HTTP_DNT'])):
?>
// DO NOT TRACK desabilitado - inserir códigos a carregar aqui<?php
endif
?>

 

Atualizado em Junho 09, 2018