Primeiro de tudo, vamos ver em termos gerais o que é esse user-agent de um navegador da Internet e o que ele usa.
Contente
O que é o agente do usuário (ou agente de usuário)?
Tudo isso significa navegador 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 de internet com o site, entende, verifica e exibe 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 da Web solicitadas acessando uma URL específica no protocolo HTTP / HTTPS.
User Agent contém no cabeçalho entregue ao servidor que acessa, informações sobre o software utilizado pelo usuário, o sistema operacional, a versão do pacote de software do navegador. Por exemplo, o agente do usuário do Google Chrome fornecerá ao servidor informações sobre a versão do Google Chrome usada 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 agente de usuário do cabeçalho acima significa que uma versão do Google Chrome 70 em um computador com Processador AMD, Arquitetura 64-bit sistema operacional Windows 10.
Você provavelmente vai saber por que o Mozilla está aparecendo como um agente do usuário do Chrome. Esse é um tipo 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 reprodução de conteúdo.
Webmasters ou administratorii servidores web podem bloquear o acesso de certos agentes do usuário em webhosts hospedados. Na maioria das vezes, essa limitação é definida robôs da web (bots da web) que o acesso caótico ou excessivo às páginas web de um site. Felizmente, esses bots têm um user agent específico e podem ser facilmente detectados nos logs do servidor da web.
Como bloquear o acesso do agente de usuário em um servidor da web com o NGINX
Vamos considerar o cenário em que não queremos mais permitir que os usuários acessem o site com sistemas operacionais Windows Navegador de internet XP e Mozilla Firefox 5.0.
Adicionamos o código abaixo do arquivo de configuração nginx, ao bloco “servidor”:
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 a configuração personalizada (gen sites-available), então reinicie o serviço NGINX.
Todos os usuários com Firefox 5.0 (incluindo todas as versões até 5.9) em Windows XP, será redirecionado para erro 403 (Proibido).
Não escolhi acidentalmente este exemplo. A partir do Firefox 52.9.0, o Mozilla interrompeu o suporte aos usuários Windows XP sim Windows Vista. Sistemas operacionais cujo suporte foi parado pela Microsoft no 2014, respectivamente 2017 para Windows Vista.