// você está lendo...

Php

Identificar navegador apenas com PHP


Identificar um navegador não é uma tarefa 100% segura, pois, em alguns casos pode-se configurar o navegador para que não seja identificada a versão entre outras informações, outro fator é o firewall que pode bloquear estas informações.

Dentre os diversos navegadores existentes temos outro fator que poderia impedir a identificação correta do navegador, este fator é conhecido como atualização de versão. Sim, sempre que um software é atualizado algumas informações podem ser trocadas, até mesmo configurações.

Enfim, identificar um navegador não é uma ação segura.

Ao contrario do que muita gente pensa é possível identificar o navegador do usuário utilizando apenas PHP, veja como isso pode ser realizado.

Muitos programadores conhecem a variável de servidor $_SERVER que é um array contendo informações sobre o servidor e a conexão com o mesmo, porém poucos a usam ao ponto de facilitar o desenvolvimento de seus sistemas e sites.

Dentre as informações contidas em $_SERVER temos HTTP_USER_AGENT que informa o conteúdo do header User-Agent. O retorno desta função pode ser algo como o exemplo abaixo:

Mozilla/5.0 (Windows; U; Windows NT 5.1; pt-BR; rv:1.8.1.5) Gecko/20070713 Firefox/2.0.0.5

A partir desta informação já é possível saber qual é o navegador do usuário e escolher qual o estilo ou pagina ele deve ser redirecionado, mas, caso você queira melhorar a verificação para saber se o navegador é compatível com seu site, você pode utilizar a função get_browser() que tenta retornar as funções disponíveis pelo navegador.

Você pode utilizá-la da seguinte forma

// Informa ao get_browser() qual o header User-Agent a ser analisado
$browser = get_browser($_SERVER['HTTP_USER_AGENT']);

// Faz um loop para percorrer os índices do array
foreach ($browser as $name => $value) {

// Imprime os valores
echo “$name $value
\n”;
}
?>

O exemplo anterior retornará algo similar a isto:

browser_name_regex ^mozilla/5\.0 (windows; .; windows nt 5\.1; .*; rv:1\.8.*) gecko/.*$
browser_name_pattern Mozilla/5.0 (Windows; ?; Windows NT 5.1; *; rv:1.8*) Gecko/*
parent Mozilla 1.8
platform WinXP
browser Mozilla
version 1.8
majorver 1
minorver 8
css 2
frames 1
iframes 1
tables 1
cookies 1
backgroundsounds
vbscript
javascript 1
javaapplets 1
activexcontrols
cdf
aol
beta 1
win16
crawler
stripper
wap
netclr

Maiores informações sobre estas funções
Variáveis pré definidas
get_browser()

Compare Preços de: programadores, disponíveis pelo navegador, games, PS2, PS3, Playstation, Wii, iPod no JáCotei.

Ofertas válidas até a meia noite de hoje
26.000 Modelos Web Sites Editáveis Xhtml Php Psd Flash Asp
26.000 Modelos Web Sites Editáveis Xhtml Php Psd Flash Asp
Mais info»
R$ 28.00
até 18x de 2.10
Flash Sites Profissionais. 5 Dvds   20 Gb De Dados. Confira!
Flash Sites Profissionais. 5 Dvds 20 Gb De Dados. Confira!
Mais info»
R$ 29.99
até 18x de 2.25
150 Novas Lojas Virtuais Modelo 2010 Php Oscommerce Magento
150 Novas Lojas Virtuais Modelo 2010 Php Oscommerce Magento
Mais info»
R$ 24.90
até 18x de 1.87
Mega 2.200 Sites  Efeitos Códigos Lojas Logos Banners Blogs
Mega 2.200 Sites Efeitos Códigos Lojas Logos Banners Blogs
Mais info»
R$ 9.90
até 18x de 0.74
Super Nova Web Rádio 7.0   Radio   Webradio   Script   Php
Super Nova Web Rádio 7.0 Radio Webradio Script Php
Mais info»
R$ 10.99
até 18x de 0.82
25.000 Modelos Templates De Web Sites Editáveis Frete Grátis
25.000 Modelos Templates De Web Sites Editáveis Frete Grátis
Mais info»
R$ 29.90
até 18x de 2.24
Vitrine Tecnoblog  

Discussion

12 Responses to “Identificar navegador apenas com PHP”

  1. é só ñ vi essa função funcionar!

    Warning: get_browser() [function.get-browser]: browscap ini directive not set in /hom.br/brow.php on line 2

    Warning: Invalid argument supplied for foreach() in /hjhj.com.br/brow.php on line 3

    Posted by Cézar | 30/01/2009, 19:02
  2. Opaa

    kara… muito bonito e simples!
    PENA QUE NÃO FUNCIONA!!

    Posted by CBT | 17/09/2009, 09:48
  3. meu amigo, realmente não funciona, perdi meu tempo testando e nada,, ao invés de vc ficar estressado deveria tirar este código ou arruma-lo para outras pessoas como eu não vir aqui perder o tempo tbm, ok?

    Posted by Carlos Britto | 29/10/2009, 21:21
  4. Galera funfa sim e muito bem!!

    Posted by barracuda mocambicana | 27/02/2010, 09:45
  5. Funcionar certinho

    Posted by Juliano | 09/04/2010, 13:31
  6. Encontre no seu php.ini a linha

    ;browscap = extra/browscap.ini

    tire o ponto e virgula, e restarte o apache, é mais facil q vcs ficarem brigando :D

    Posted by rudimar remontti | 30/04/2010, 08:57

Trackbacks/Pingbacks

  1. Identificar navegador apenas com PHP…

    Ao contrario do que muita gente pensa é possível identificar o navegador do usuário utilizando apenas PHP, veja como isso pode ser realizado….

    dihitt.com.br - 20/07/2007
  2. Identificar navegador apenas com PHP…

    Ao contrario do que muita gente pensa possvel identificar o navegador do usurio utilizando apenas PHP, veja como isso pode ser realizado….

    domelhor.net - 20/07/2007

Post a comment

Recentes

caneca cafe canon 3
Caneca de café em formato de lentes Canon
agosto 31, 2010
By John-Henrique
Rapid Share Premium grátis
Rapid Share Premium grátis
agosto 23, 2010
By John-Henrique
TV LCD 42″
Promoção “Quer ganhar uma TV LCD 42″?”
agosto 22, 2010
By John-Henrique
Resident Evil 4 – Afterlife
Resident Evil 4 – Afterlife
agosto 20, 2010
By John-Henrique
invencoes-extranhas (32)
Invenções estranhas II
agosto 19, 2010
By John-Henrique
invencoes-extranhas (15)
Invenções estranhas
agosto 18, 2010
By John-Henrique
metallica presidio
Diferenças entre Presídio e Trabalho
agosto 16, 2010
By John-Henrique
Mercedes-Benz SCL600 6
Mercedes-Benz SCL600
agosto 15, 2010
By John-Henrique
Como baixar videos da internet
julho 21, 2010
By Carlos Camacho
vlc media player
VLC Media Player – Assista vídeos e filmes com maior facilidade
julho 19, 2010
By Carlos Camacho