Em primeiro lugar, vamos ver em termos gerais o que é esse user-agent de um navegador de internet e para que serve.
contente
O que é User Agent (ou User-Agent)?
Todos os navegadores de internet (Internet Explorer, Safari, Opera, Firefox, Chrome, etc.) possuem um software agente que interage com o site que você visita, no nível do servidor host. Este software faz a conexão da internet com o site, entende, verifica e irá exibir o conteúdo da página acessada. Em suma, garante a interação entre o usuário e o servidor host que atende ao usuário as páginas web solicitadas, acessando uma URL específica no protocolo HTTP/HTTPS.
O User Agent contém no cabeçalho entregue ao servidor que ele acessa, informações relacionadas ao software utilizado pelo usuário, ao sistema operacional, à versão do pacote de software do navegador. Por exemplo, o user-agent do Google Chrome retornará ao servidor informações sobre a versão do Google Chrome utilizada e o sistema operacional do usuário.
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3163.100 Safari/537.36
O cabeçalho user-agent acima significa que uma versão do Google Chrome 70 em um computador com processador AMD, Assim, Arquitetura de 64 bits com sistema operacional Windows 10.
Você provavelmente vai se perguntar por que a Mozilla aparece como um agente de usuário do Chrome. Trata-se de uma espécie de truque usado pelo Google (e pela Microsoft no IE) para facilitar o acesso dos usuários do Chrome a todos os sites compatíveis com Mozilla e Safari. AppleWebKit é o mecanismo de renderização de conteúdo.
Webmasters ou administradores de servidores web podem bloquear o acesso de certos agentes de usuário em sites hospedados. Na maioria das vezes, esta limitação é imposta robôs da web (bots da web) que acessam de forma caótica ou excessiva as páginas de um site. Felizmente, esses bots possuem um agente de usuário específico e podem ser detectados facilmente nos logs do servidor web.
Como bloquear o acesso de um agente de usuário a um servidor web com NGINX
Tomemos o cenário em que não queremos mais permitir o acesso ao site a usuários com sistemas operacionais Windows XP e navegador de internet Mozilla Firefox 5.0.
Adicionamos o código abaixo ao arquivo de configuração nginx, para “servidor” bloquear:
if ($http_user_agent = "Mozilla/5.0 (Windows NT 5.1; rv:52.0) Gecko/20100101 Firefox/52.0"){
return 403;
}
Salve o arquivo nginx.conf ou o arquivo específico de um site, se você usar uma configuração personalizada (geração de sites disponíveis), então reinicie o serviço NGINX.
Todos os usuários do Firefox 5.0 (incluindo todas as versões até 5.9) no Windows XP serão redirecionados para erro 403 (Proibido).
Não escolhi este exemplo por acaso. A partir do Firefox 52.9.0, a Mozilla interrompeu o suporte para usuários do Windows XP e Windows Vista. Sistemas operacionais cujo suporte foi interrompido pela Microsoft em 2014, respectivamente em 2017 para Windows Vista.