fonction php pour capter le referer [src]


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

fonction php pour capter le referer [src]

Message le Ven Oct 06, 2006 5:22

dans le cadre de la release de mon gestionnaire de stat j'ai fait une petite fonction qui capte le referer

comme je sais qu'il y a ici des membres amateurs de code je vais la poster et la soumettre à votre jugement, j'ai parser tous les composants pour pouvoir deceler plus rapidement les tentatives de piratage


Code: Tout sélectionner
####################################################################
function get_referer(){
#
$part = array(0=>"scheme","host","port","user","pass","path","query","fragment");
#
$result = array_flip($part);
#
if(isset($_SERVER['HTTP_REFERER']))
   {
   #print"<li> referer ok";
   $parse_url = parse_url($_SERVER['HTTP_REFERER']);
   if(get_magic_quotes_gpc() == 1)
      {
      while(list($key,$val) = each($parse_url))
         {
         $result["$key"] = $val;
         }
      }
      else
         {
         while(list($key,$val) = each($parse_url))
            {
            $result["$key"] = addslashes($val);
            }
         }
   }
#
return $result;
}


rog


spationaute-troglodyte
WRInaute occasionnel
WRInaute occasionnel
 
Messages: 335
Inscription: 11 Juin 2006

Message le Ven Oct 06, 2006 8:06

J'ai pas trop compris à quoi ca servait Rog..?


rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Ven Oct 06, 2006 8:25

bah ça sert à logguer d'ou viennent tes visiteurs

ça renvoit un tableau avec tous les composants de l'url d'ou viennent tes visiteurs

les cases vides étant remplies par des numeriques ça devrait accelerer le traitement

un exemple de log

'http'rgirardin.mine.nu'2'3'4'/encryptor/visit.php'6'7'

index 2 ==> port
index 3 ==> user
index 4 ==> pass
index 6 ==> query string
index 7 ==> ancre

rog


ltressens
WRInaute impliqué
WRInaute impliqué
 
Messages: 551
Inscription: 2 Avr 2004

Message le Ven Oct 06, 2006 8:50

<mode simplicite="on">
et sinon pourquoi pas :
Code: Tout sélectionner
function get_referer() {
   return isset($_SERVER['HTTP_REFERER']) ? $_SERVER['HTTP_REFERER'] : '';
}


</mode>

Webinteraction
WRInaute discret
WRInaute discret
 
Messages: 72
Inscription: 31 Aoû 2006

Message le Ven Oct 06, 2006 8:55

Parce que c'est un codeur et qu'il aime bien se compliquer par plaisir...

thierry8
WRInaute accro
WRInaute accro
 
Messages: 3251
Inscription: 11 Juil 2005

Message le Ven Oct 06, 2006 9:09



rog
WRInaute passionné
WRInaute passionné
 
Messages: 1662
Inscription: 21 Sep 2006

Message le Ven Oct 06, 2006 9:39

c'est parce que ce sera un systeme de logging en fichier sans db

.... il faut donc que l'action du logging soit intelligente et formate les données de manière optimum afin d'etre traitées par un script générateur d'états dont les fonctions doivent être réduites à leur plus simple expression en vue de fluidifier et d'optimiser les ressources machine nécéssaires à son execution ....

(je sais c'est emphatique mais c'est la philosophie de mon logger)

rog


Si vous avez aimé cette discussion, partagez-la sur vos réseaux sociaux préférés :

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités