• Home
  • Projetos
  • Palestras
  • Artigos
  • Livros

Descobrindo o Browser com PHP

10/11/2006  Ler e Comentar

Neste pequeno script, temos uma função que detecta o nome e a versão do broser que está sendo utilizada pelo visitante do site. Para tal, possui um vetor com os browsers válidos. Caso um robot tente acessar seu site para coletar informações, ele será reconhecido como "OTHER" e então você saberá que não precisa registrar a visita ;-)



<?php
    
/* function getBrowser
     * returns the detected browser
     */
    
function getBrowser()
    {
        
$var = $_SERVER['HTTP_USER_AGENT'];
        
$info['browser'] = "OTHER";
        
        
// valid brosers array
        
$browser = array ("MSIE", "OPERA", "FIREFOX", "MOZILLA",
                          
"NETSCAPE", "SAFARI", "LYNX", "KONQUEROR");

        
// bots = ignore
        
$bots = array('GOOGLEBOT', 'MSNBOT', 'SLURP');

        foreach (
$bots as $bot)
        {
            
// if bot, returns OTHER
            
if (strpos(strtoupper($var), $bot) !== FALSE)
            {
                return 
$info;
            }
        }
        
        
// loop the valid browsers
        
foreach ($browser as $parent)
        {
            
$s = strpos(strtoupper($var), $parent);
            
$f = $s + strlen($parent);
            
$version = substr($var, $f, 5);
            
$version = preg_replace('/[^0-9,.]/','',$version);
            if (
strpos(strtoupper($var), $parent) !== FALSE)
            {
                
$info['browser'] = $parent;
                
$info['version'] = $version;
                return 
$info;
            }
        }
        return 
$info;
    }
  
    
// prints the detected browser
    
print_r(getBrowser());
?>




Comentários



 Adicionar Comentário
 Nome
 Email
 Título
 Comentário

Livros


  • Outros

    • Galeria de Fotos
    • Posts no Codare

    Arquivo

    • 2007
    • 2006
    • 2005
    • 2004
  • Google

    Blogroll

    • Adler Medrado
    • Aurélio Jargas
    • Andrei Zmievski
    • Eduardo Maçan
    • Efetividade
    • Joel on Software
    • Marcelio Leal
    • Martin Fowler
    • Miguel de Icasa
    • Newton Wagner
    • Rafael Dohms
    • Rasmus Lerdorf
    • Sérgio Crespo
    • Timoty Ney

    Posts Aleatórios

    • Implantação do GNUTeca na ESMP
    • Semana de Capacitação em Software Livre
    • Lançamento: PHP Programando com Orientação a Objetos
    • Fórum Internacional de Software Livre
    • Curso de Marc21
    • 5o. Fórum Internacional de Software Livre
    • Calcular o caminho euleriano em PHP
    • Gerando Thumbs em PHP
    • Experiências de um desenvolvedor de software livre
    • phpNow! em Petrópolis-RJ
    • PHP Road Show
    • Treinamento de Agata Report na Univates
    • De volta ao papel
    • Cafeomancia
    • Sintaxe do Vim no Ubuntu
    • Lanternas de LED
    • Instalação do GNUTeca e passeio em Itaipú
    • Agora sim, como recondicionar seu cooler
    • Roteador ZinWell G220 como repetidor
    • Latinoware e Forum do GNOME em Foz do Iguaçu
 
Designed by Wolfgang Bartelme Designed by Wolfgang Bartelme

© 2006 Wordpress Themes | Theme (Not so) Fresh
XHTML CSS