IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

[Tableaux] Script "sniffer browsers"


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut [Tableaux] Script "sniffer browsers"
    Bonsoir @ tous

    J'utilise sur mon forum un ptit script qui me permet de savoir quel agent utilise les membres. Grace a lui j'affiche une image qui represente le browser a coté de leur pseudo.

    exemple pour firefox : mon_pseudo

    Par exemple sur le board.php la partie gérant cette fonction est celle la

    $cached = array();

    $browser_title = array("" => "", "ns" => "Netscape", "ie" => "Internet Explorer", "op" => "Opera", "mz" => "Mozilla", "fx" => "FireFox", "sf" => "Safari", "kq" => "Konqueror", "ga" => "Galeon","am" => "Amaya", "ca" => "Camino", "fb" => "Firebird", "ic" => "Icab","km" => "K-meleon", "lx" => "Lynx", "ow" => "Omniweb", "px" => "Phoenix");

    while ($result = $DB->fetch_row() )
    {
    $client = new phpSniff($result['browser']);

    if ( strstr( $result['id'], '_session' ) )
    {
    if ( $ibforums->vars['spider_anon'] )
    {
    if ($ibforums->member['g_access_cp'])
    {
    $active['NAMES'] .= "{$result['member_name']}*{$this->sep_char} \n";
    $active['BOTS']++;
    }
    }
    else
    {
    $active['NAMES'] .= "{$result['member_name']}{$this->sep_char} \n";
    $active['BOTS']++;
    }

    }
    else if ($result['member_id'] == 0 )
    {
    $active['GUESTS']++;
    }
    else
    {
    if ( empty( $cached[ $result['member_id'] ] ) )
    {
    $cached[ $result['member_id'] ] = 1;
    if ($result['login_type'] == 1)
    {
    if ( ($ibforums->member['mgroup'] == $ibforums->vars['admin_group']) and ($ibforums->vars['disable_admin_anon'] != 1) )
    {
    if ($browser = $client->get_property("browser") AND in_array($browser, array("ns", "ie", "op", "mz", "fx", "sf", "kq" , "am" , "ca" , "fb" , "ga" , "ic" , "km" , "lx" , "ow" , "px")))
    {
    $active['NAMES'] .= "<img src=\"html/browsers/".$browser.".png\" alt=\"".$browser."\" title=\"".$browser_title[$browser]."\" border=\"0\" />&nbsp;";
    }
    $active['NAMES'] .= "<a class=\"userlinks\" href='{$ibforums->base_url}showuser={$result['member_id']}'>{$result['prefix']}{$result['member_name']}{$result['suffix']}</a>*{$this->sep_char} \n";
    $active['ANON']++;
    }
    else
    {
    $active['ANON']++;
    }
    }
    else
    {
    $active['MEMBERS']++;
    if ($browser = $client->get_property("browser") AND in_array($browser, array("ns", "ie", "op", "mz", "fx", "sf", "kq" , "am" , "ca" , "fb" , "ga" , "ic" , "km" , "lx" , "ow" , "px")))
    {
    $active['NAMES'] .= "<img src=\"html/browsers/".$browser.".png\" alt=\"".$browser."\" title=\"".$browser_title[$browser]."\" border=\"0\" />&nbsp;";
    }
    $active['NAMES'] .= "<a class=\"userlinks\" href='{$ibforums->base_url}showuser={$result['member_id']}'>{$result['prefix']}{$result['member_name']}{$result['suffix']}</a>{$this->sep_char} \n";

    }
    }
    }
    }

    unset($browser_title);
    avec au debut de ce fichier le lien menant vers le sscript

    require_once ("sources/phpsniff/phpSniff.class.php");
    En fait, j'aimerais rajouter une image du style "uk.png" ( la voici : ) pour les membres passant par un proxy et le dont l'agent n'est pas detecté. J'avoue que je sèche alors si quelqu'un aurait une idée, ça serait sympa

    Je vous joins le script phpsniff

    Merci par avance de vos réponses
    Fichiers attachés Fichiers attachés

  2. #2
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Salut !

    ne peux-tu pas tout simplement utiliser une valeur par défaut dans le cas où tu ne détecte pas le Browser ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    dans le phpsniff j'ai

    var $_browsers = array(
    'microsoft internet explorer' => 'IE',
    'msie' => 'IE',
    'netscape6' => 'NS',
    'netscape' => 'NS',
    'galeon' => 'GA',
    'phoenix' => 'PX',
    'mozilla firebird' => 'FB',
    'firebird' => 'FB',
    'firefox' => 'FX',
    'chimera' => 'CH',
    'camino' => 'CA',
    'epiphany' => 'EP',
    'safari' => 'SF',
    'k-meleon' => 'KM',
    'mozilla' => 'MZ',
    'opera' => 'OP',
    'konqueror' => 'KQ',
    'icab' => 'IC',
    'lynx' => 'LX',
    'links' => 'LI',
    'ncsa mosaic' => 'MO',
    'amaya' => 'AM',
    'omniweb' => 'OW',
    'hotjava' => 'HJ',
    'browsex' => 'BX',
    'amigavoyager' => 'AV',
    'amiga-aweb' => 'AW',
    'ibrowse' => 'IB'
    );
    pour indiqué tous les browsers. Si je rajoute une ligne du type

    '' => 'uk',
    "uk" car mon image s'appel uk.png, tous les membres ce retrouve avec l'image en face de leur pseudo

    dc en fait l'image j'arrive a la mettre mais maintenant, c'est la valeur a donner qui pose problème...

    en sachant que dans le phpsniff, j'ai cette partie pour les browsers non detectés :

    /**
    * @access private
    * @var array
    */
    var $_browser_info = array(
    'ua' => '',
    'browser' => 'Unknown',
    'version' => 0,
    'maj_ver' => 0,
    'min_ver' => 0,
    'letter_ver' => '',
    'javascript' => '0.0',
    'platform' => 'Unknown',
    'os' => 'Unknown',
    'ip' => 'Unknown',
    'cookies' => 'Unknown', // remains for backwards compatability
    'ss_cookies' => 'Unknown',
    'st_cookies' => 'Unknown',
    'language' => '',
    'long_name' => '',
    'gecko' => '',
    'gecko_ver' => ''
    );
    si t'as une idée

  4. #4
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    pourquoi pas quelque chose du style :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    if(!isset($browser['cle_du_browser'])) { /* => Browser inconnue */ }
    else { /* => Browser connu */ }
    Qu'est-ce qu'il se passe pour le moment quand tu tombes sur un browser que tu ne connais pas ?
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  5. #5
    Candidat au Club
    Profil pro
    Inscrit en
    Avril 2006
    Messages
    4
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Maine et Loire (Pays de la Loire)

    Informations forums :
    Inscription : Avril 2006
    Messages : 4
    Points : 4
    Points
    4
    Par défaut
    en fait j'ai fait ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    if ($browser = $client->get_property("browser")) 
    { 
    if (in_array($browser, array("ns", "ie", "op", "mz", "fx", "sf", "kq" , "am" , "ca" , "fb" , "ga" , "ic" , "km" , "lx" , "ow" , "px" ))) 
    { 
    $active['NAMES'] .= "<img src=\"html/browsers/".$browser.".png\" alt=\"".$browser."\" title=\"".$browser_title[$browser]."\" border=\"0\" />&nbsp;"; 
    } 
    else 
    {
    $active['NAMES'] .= "<img src=\"html/browsers/uk.png\" alt=\"Inconnu\" title=\"Inconnu\" border=\"0\" />&nbsp;";  
    }
    }
    ça a l'air correct et fonctionnel

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Tableaux] souci avec des simples quotes
    Par Jean Fi dans le forum Langage
    Réponses: 6
    Dernier message: 29/03/2006, 20h13

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo