<< Aula anterior | Sumário do Curso | Próxima aula >>
E aí, dev! Preparado para dar mais um passo na sua jornada Full-Stack?
Sempre que acessamos uma página na internet, uma conversa invisível acontece entre o nosso computador e o servidor do site. Nessa conversa, o seu Browser (o navegador que você usa, como Chrome, Firefox, Safari ou Edge) envia um "cartão de visitas" automático para o servidor. E é exatamente isso que vamos aprender a capturar hoje com o PHP!
O que é o HTTP_USER_AGENT no PHP?
Resposta Direta: O User Agent é uma string de texto enviada pelo navegador do cliente no cabeçalho HTTP de uma requisição. No PHP, capturamos essa informação usando a superglobal $_SERVER['HTTP_USER_AGENT'], que nos revela qual é o navegador, a versão, o sistema operacional (Windows, Mac, Linux, Android) e até o motor de renderização (como WebKit) do usuário.
A Analogia do "Crachá de Visitante"
Pense no servidor do seu site como a portaria de um prédio de luxo. Cada vez que uma URL é solicitada, um visitante chega à porta. O User Agent é o crachá desse visitante. Nele está escrito: "Olá, eu sou o Google Chrome, versão 114, estou rodando em um Windows 11 de 64 bits".
Saber ler esse crachá é fundamental para um programador de elite. Com essa informação, você pode:
- Criar estatísticas de acesso (Analytics): Descobrir se o seu público usa mais celular ou computador de mesa.
- Detectar Bots: Saber se quem está acessando é um usuário real ou o robô rastreador do Google (Googlebot).
- Melhorar a Experiência (UX): Exibir um aviso de atualização caso o usuário esteja usando um navegador pré-histórico (como o falecido Internet Explorer).
Script Prático em PHP: Exibindo as Informações do Cliente
A captura dessas informações fica armazenada em uma única e poderosa variável de ambiente do nosso servidor web. Veja como é simples integrá-la dentro da estrutura HTML da sua página:
<!DOCTYPE html>
<html lang="pt-BR">
<head>
<meta charset="UTF-8">
<title>Apostila PHP Progressivo - User Agent</title>
</head>
<body>
<?php
// Captura a string inteira enviada pelo navegador
$agente_usuario = $_SERVER['HTTP_USER_AGENT'];
echo "<h3>Informações do seu Browser (User Agent):</h3>";
echo "<p>" . $agente_usuario . "</p>";
?>
</body>
</html>
Se você rodar esse script no seu servidor local (XAMPP, WAMP, etc.) acessando pelo seu computador agora mesmo, verá na tela algo gigante e feio, parecido com isso:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/115.0.0.0 Safari/537.36
Chega de tutoriais rasos pela internet!
Entender de onde vêm os dados das Superglobais é o que separa o amador do Programador Sênior. Você quer aprender a manipular esses dados para criar sistemas de login, bloqueio de bots e relatórios profissionais? Estude de forma linear, offline e sem distrações com o nosso material completo.
Baixar Apostila PHP com Exercícios e Gabarito 🚀
🛠️ Dica de Mestre: Como tomar decisões baseadas no User Agent
Como vimos, a string retornada é um grande bloco de texto. O legal mesmo é usar funções de manipulação de strings, como a strpos(), para procurar palavras específicas (como "Android" ou "Chrome") e criar comportamentos dinâmicos no seu site.
Veja como é fácil redirecionar um usuário de celular para uma página diferente, ou apenas exibir uma mensagem personalizada:
<?php
$agente = $_SERVER['HTTP_USER_AGENT'];
// Verifica se a palavra 'Android' existe dentro da string do User Agent
if (strpos($agente, 'Android') !== false) {
echo "Identificamos que você está usando um celular Android. Bem-vindo à versão Mobile!";
// Aqui você poderia colocar um redirecionamento: header('Location: mobile.php');
}
// Verifica se é o navegador Firefox
elseif (strpos($agente, 'Firefox') !== false) {
echo "Que bom gosto! Você está usando o Mozilla Firefox.";
}
else {
echo "Acesso realizado por um dispositivo ou navegador genérico.";
}
?>
HTTP_USER_AGENT. Assim como IPs podem ser forjados (Spoofing), qualquer usuário malicioso ou ferramenta (como o Postman) pode alterar essa string para dizer ao seu servidor que é um "Googlebot" ou um "iPhone de última geração" só para burlar regras do seu site. Use-o para métricas e melhorias de UI/UX, não para controle de acessos rígidos!
Economize Tempo e Acelere sua Carreira!
O mercado de tecnologia não espera. Se você quer evoluir mais rápido, ter os conceitos essenciais sempre à mão e apoiar o ensino de programação no Brasil, o Mega Pack é a escolha definitiva.
Consolide seu Conhecimento
Agora que você já sabe como ler o "crachá" do usuário, é hora de aprofundar seus estudos em manipulação de requisições e strings. Sugerimos a leitura atenta dos seguintes artigos para fechar seu raciocínio de Backend:
- Segurança e Redes: Como descobrir o Endereço IP Real do Cliente em PHP
- Dominando Textos: Principais Funções para Manipulação de Strings no PHP
- Entendendo os Cabeçalhos HTTP e a Arquitetura Cliente-Servidor