Mostrando postagens com marcador User Agent. Mostrar todas as postagens
Mostrando postagens com marcador User Agent. Mostrar todas as postagens

Como Pegar o Navegador e SO do Usuário em PHP (Guia do User Agent)

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

Apostila PHP Progressivo
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.";
}
?>


⚠️ Atenção à Segurança: Nunca confie dados críticos ou de segurança no 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.

Todas as Apostilas de Programação



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:



<< Aula anterior | Sumário do Curso PHP | Próxima aula >>