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
?>

 

HTTP “Do Not Track” – o que é?

Em vista dos problemas e preocupações relativos à privacidade dos últimos tempos, criou-se um mecanismo que inclui, nos cabeçalhos de requisição dos navegadores, uma diretriz extra – o DNT. O DNT é uma abreviação para “Do Not Track” – em português, literalmente “não rastrear”.

Isso significa que todo e qualquer usuário pode, ao aceder as configurações do seu browser, selecionar a opção de não ser rastreado. Ao fazê-lo, o browser emitirá uma requisição para toda página ou website que o usuário aceder, “avisando” o servidor dessa página que prefere não ser rastreado.

Onde o problema começa?

Apesar de todos os principais browsers já haverem aderido ao HTTP DNT, a verdade é que esse recurso apenas emite um aviso para o site que está sendo buscado. Caso o website não possua recursos programáticos para reagir a esse cabeçalho, simplesmente continuará a rastrear o usuário, atuando assim em desconformidade não apenas com a ética da internet, mas também com o RGPD (face aos direitos do usuário que, desse modo, estariam a ser transgredidos).

O HTTP DNT é apenas uma forma de o browser alertar servidores a respeito das preferências do usuário – é de total responsabilidade do proprietário do site reagir a tal. Para usuários, selecionar tal opção não garante de forma alguma que não haverá rastreio. Contudo, por interpretação à nova legislação europeia, sites que não reajam a tal estarão atuando em desconformidade. Quando o usuário assinala tal opção no browser, suas requisições vão sempre acompanhadas de uma instrução DNT: 1 no cabeçalho HTTP.

Os sites devem então reagir a esse “sinal” desligando, para esse usuário, todo e qualquer script ou ferramenta de rastreio ou monitoramento.

Suporte amplo

A maioria dos browser, para computadores ou telemóveis, atualmente oferece tal recurso. Isso significa que sites devem ter, sob a luz do RGPD, códigos implementados para reagir a essa possibilidade. Em outros tópicos iremos detalhar algumas formas de reagir ao HTTP DNT, particularmente utilizando PHP ou Javascript para interpretar a instrução. A tabela a seguir mostra que todos os navegadores, em desktop e portáteis ou em telemóveis e tablets, oferecem suporte ao “Do Not Track”. O “Yes” mostra suporte integral e, para os quadros onde há números, referem-se às versões a partir das quais o suporte é oferecido.

HTTP Do Not Track