Script PHP: Qui est en ligne?

[ 137 commentaires]

merci à el roubio pour cette illustration Comme expliqué en préambule, nous allons maintenant utiliser les informations du compteur live créé précédemment pour afficher les adresses IP des visiteurs connectés sur votre site.

Ce script intègre aussi un algorithme, souvent utilisé pour le cloaking, pour détecter les robots des moteurs de recherche parmi vos visiteurs.

Ce script est en démonstration ici. Ecrit en PHP, il ne nécessite pas l'utilisation de MySQL. Il nécessite en revanche l'installation préalable du compteur live.

Mise en place

Il vous suffit d'insérer le code suivant dans vos pages web, à l'endroit où vous souhaitez afficher les adresses IP de vos visiteurs:

<?php
// Affichage des adresses IP des visiteurs connectés:
// ================================
// Ce script lit le fichier /compteur-live/compteur-live.txt, dans lequel sont
// identifiés les visiteurs connectés sur le site.
// -----------------------------------------------------------------------------------
// Le fichier /compteur-live/compteur-live.txt est créé et mis à jour par le "compteur
// live" présenté à http://www.actulab.com/script-php--visiteurs-connectes.php.
// Ce script nécessite donc l'installation préalable du "compteur live".
// -----------------------------------------------------------------------------------
// On lit chaque ligne du fichier /compteur-live/compteur-live.txt dans le tableau
// $compteur_live pour pouvoir afficher les adresses IP des visiteurs.
$compteur_live = file("/compteur-live/compteur-live.txt");
// -----------------------------------------------------------------------------------
// Le fichier /compteur-live/compteur-live.txt contient 2 lignes par visiteur connecté:
// - une ligne contenant son heure de connexion,
// - suivie d'une ligne contenant son adresse IP.
// Le nombre de visiteurs connecté est donc la moitié du nombre de lignes du fichier.
$nb_de_visiteurs = count($compteur_live)/2;
// -----------------------------------------------------------------------------------
// On lit l'adresse IP du visiteur qui est en train de charger la page pour pouvoir
// l'identifier parmi les visiteurs connectés
if(isset($_SERVER["REMOTE_ADDR"])) { // Si on peut déterminer l'adresse IP
$ip_en_cours = $_SERVER["REMOTE_ADDR"];
}
else { // sinon
$ip_en_cours = "Non identifiable";
}
// -----------------------------------------------------------------------------------
// On affiche le nombre de visiteurs connectés
echo "Il y a ".$nb_de_visiteurs;
if($nb_de_visiteurs > 1) {
echo " visiteurs connectés sur le site. Leurs adresses IP sont:";
}
else {
echo " visiteur connecté sur le site.";
if($nb_de_visiteurs == 1) {
echo " Son adresse IP est:";
}
}
// La ligne suivante est facultative... mais nous apprécierions ;-)
echo" <a href=\"http://www.actulab.com/script-php--qui-est-en-ligne-.php\" target=\"_blank\" title=\"Script PHP offert par ActuLab\"><img src=\"http://www.actulab.com/images/icon.gif\" width=\"16\" height=\"9\" border=\"0\" alt=\"Script PHP offert par ActuLab\"></a>\n";
// fin de la ligne facultative.
echo "<br>\n";
// -----------------------------------------------------------------------------------
// On affiche les adresses IP de tous les visiteurs
for($i=0; $i<$nb_de_visiteurs; $i++) {
echo"- <a href=\"http://www.ripe.net/perl/whois? form_type=simple&full_query_string=&searchtext=".$compteur_live [2*$i+1]."&do_search=Search\" target=\"_blank\" title=\"+ d'infos sur cette adresse IP...\">".$compteur_live[2*$i+1]."</a>";
// On détermine la présence de robots des moteurs de recherche parmi les visiteurs
$google1 = strpos($compteur_live[2*$i+1],"216.239.46");
$google2 = strpos($compteur_live[2*$i+1],"64.68.8");
$scooter1 = strpos($compteur_live[2*$i+1],"216.39");
$scooter2 = strpos($compteur_live[2*$i+1],"209.73");
$slurp = strpos($compteur_live[2*$i+1],"66.196");
$voila = strpos($compteur_live[2*$i+1],"195.101.94");
$fast = strpos($compteur_live[2*$i+1],"66.77.73");
$msn = strpos($compteur_live[2*$i+1],"204.95.98");
if(($google1 !== false) || ($google2 !== false)) {
echo" <a href=\"http://www.google.com/bot.html\" target=\"_blank\" title=\"Le robot de Google. + d'infos...\">[Googlebot]</a>";
}
elseif(($scooter1 !== false) || ($scooter2 !== false)) {
echo" <a href=\"http://www.robotstxt.org/wc/active/html/scooter.html\" target=\"_blank\" title=\"Le robot de Altavista. + d'infos...\">[Scooter]</a>";
}
elseif($slurp !== false) {
echo" <a href=\"http://www.inktomi.com/slurp.html\" target=\"_blank\" title=\"Le robot de Inktomi. + d'infos...\">[Slurp]</a>";
}
elseif($voila !== false) {
echo" <a href=\"http://aide.voila.fr/Recherche/?Robots\" target=\"_blank\" title=\"Le robot de Voilà. + d'infos...\">[VoilaBot]</a>";
}
elseif($fast !== false) {
echo" <a href=\"http://fast.no/us/products/fast_web_search/crawler_faq\" target=\"_blank\" title=\"Le robot de Fast. + d'infos...\">[Fast Web Crawler]</a>";
}
elseif($msn !== false) {
echo" <a href=\"http://search.msn.com/msnbot.htm\" target=\"_blank\" title=\"Le robot de MSN. + d'infos...\">[MSNBot]</a>";
}
else{}
// On identifie le visiteur en cours parmi tous les visiteurs connectés
if($compteur_live[2*$i+1] == $ip_en_cours) {
echo" (c'est vous!)";
}
echo"<br>\n";
}
?>

Voir la démonstration de ce script...
Retourner au compteur instantané...

Vos réactions à cet article :::

le 26/12/2007 à 00:49De: jsdj hll
<a href="http://www.getrue.com">Magicians Videos</a><a href="http://www.getrue.com">Supernatural Powers</a>
le 26/12/2007 à 00:49De: jsdj hll
[url="http://www.getrue.com"]Magicians Videos[/url][url="http://www.getrue.com"]Supernatural Powers[/url]
le 01/02/2008 à 16:39De: jsdj hll
<a href="http://digg.com/pc_games/Pokeri_Pelaa_Online_Pokeri_Pokeri_Bonus_Bonuskoodi">pokeri</a><a href="http://digg.com/pc_games/Pokeri_Pelaa_Online_Pokeri_Pokeri_Bonus_Bonuskoodi">pelaa pokeri</a><a href="http://digg.com/pc_games/Pokeri_Pelaa_Online_Pokeri_Pokeri_Bonus_Bonuskoodi">online pokeri</a><a href="http://digg.com/pc_games/Pokeri_Pelaa_Online_Pokeri_Pokeri_Bonus_Bonuskoodi">pokeri bonus</a>
le 01/02/2008 à 16:39De: jsdj hll
[url="http://digg.com/pc_games/Pokeri_Pelaa_Online_Pokeri_Pokeri_Bonus_Bonuskoodi"]pokeri[/url][url="http://digg.com/pc_games/Pokeri_Pelaa_Online_Pokeri_Pokeri_Bonus_Bonuskoodi"]pelaa pokeri[/url][url="http://digg.com/pc_games/Pokeri_Pelaa_Online_Pokeri_Pokeri_Bonus_Bonuskoodi"]online pokeri[/url][url="http://digg.com/pc_games/Pokeri_Pelaa_Online_Pokeri_Pokeri_Bonus_Bonuskoodi"]pokeri bonus[/url]
le 16/02/2008 à 12:16De: jsdj hll
http://digg.com/business_finance/Forex_Handeln_Online_Forex_Handeln_Wahrung_Handelnhttp://digg.com/business_finance/Forex_Handeln_Online_Forex_Handeln_Wahrung_Handelnhttp://digg.com/business_finance/Forex_Handeln_Online_Forex_Handeln_Wahrung_Handeln
le 19/02/2008 à 16:13De: jsdj hll
<a href="http://www.rakebackmypoker.com/">poker rakeback</a><a href="http://www.rakebackmypoker.com/">rakeback poker</a><a href="http://www.rakebackmypoker.com/">rake back poker</a><a href="http://www.rakebackmypoker.com/">poker rake back</a>
le 20/02/2008 à 19:24De: jsdj hll
<a href="http://forexhandeln.blogspot.com/">I likw spam</a>
le 20/02/2008 à 19:24De: jsdj hll
[url="http://forexhandeln.blogspot.com/"]I likw spam[/url]

Ajoutez un commentaire en direct :::

Il est temporairement impossible de poster un commentaire: nos modos sont en vacances. A bientôt;)

[Envoyer cette page à un ami | Créer un lien vers cette page | Ajouter cette page à vos favoris]
39.802.666 pages vues - Déjà 5.390 aujourd'hui - 508 visiteurs connectés
100 dossiers en ligne - Copyleft © 2003-2008 ActuLab :::