J'ai un petit problème de compteur de visites sur mon site codé en XHTML/CSS/PHP5 (www.betabot.110mb.com).
Je m'explique, j'ai un compteur qui compte le nombre de visiteurs unique en 24 heures, il compte le nombre de visiteurs connectés et enfin il compte le nombre total de visiteurs depuis sa création.
Pour effectuer ces comptes, je regarde (en php) l'ip de chaque visiteur (vu que l'ip de chaque personne doit être unique). Mais lorsque je vais sur le site en tapant son adresse dans la barre d'adresse puis en passant par google, il me compte comme deux visiteurs différents (= 2 ips différents) ...
Comment est-ce possible ? et quelle est la solution pour faire un compteur fiable en php ?
Perso, je pense que c'est un problème de sous-réseaux ... et vous qu'en pensez vous ?
J'ai fais des recherches sur le net concernant mes questions ... pour faire des compteurs de visiteurs sur le web il y a 2 solutions : utiliser l'adresse ip des visiteur et/ou utiliser des cookies (avec les sessions en particulier). Le gros problème c'est qu'aucune des solutions n'est vraiment fiable.
Un visiteur peux avoir plusieurs adresses ip sur le web. Tout dépend du chemin par ou il passe (la preuve quand je vais sur mon site en tapant directement son url dans la barre d'adresse puis en le recherchant sur google et en cliquant sur le lien trouvé je suis compté comme 2 visiteurs différents). Ce bug (qui n'en est pas vraiment un) est tout à fait normal, c'est une histoire de réseaux et sous-réseaux. De même, 2 visiteurs peuvent être comptés comme un seul ...
En ce qui concerne les cookies, il est très facile de les espionner, les modifier, les effacer et même les refuser. C'est en quelques sortes encore moins fiable que l'ip (enfin c'est mon avis). De plus, si la majorité des visiteurs cochent l'option pour refuser les cookies, c'est pas génial d'afficher un message leur disant que le site ne fonctionnera pas temps qu'il ne les auront pas activés.
Pour conclure, aucun compteur de visite aujourd'hui n'est fiable. D'autant plus qu'il n'existe encore aucune norme pour définir ce qu'est un visiteur unique (combien de fois par jour faut-il le compter ? et s'il visite le site et part 3 secondes après on le compte comme visiteur ?). C'est encore pire pour définir ce qu'est une page vue (on peux regarder une page pendant 1 seconde et partir ... c'est une page vue mais bon, c'est pas très parlant).
J'espère que ce post servira à d'autres personnes ... les compteurs sont faux et dépendent de ceux qui les ont programmer. Deux compteurs programmés différemment sur un même site peuvent avoir une différence de comptage de plus 1 pour 10 ... Donc un site qui affiche 10000 visiteurs en a peut être eu que 1000 mais il les à tous compter plusieurs fois par jour ou autre.
>>Le problème c'est qu'aucune des solutions n'est fiable.
tu as parfaitement résumé la situation.
par exemple, pour le commun des mortels, son IP lui
est affectée de manière dynamique... et temporaire.
n connections==> n IP (même par le même chemin ! )
Bonjour, plusieurs ordinateurs bloque les cookies de bases comme tu le dis. Mais as-tu pensé qu'il existe plusieurs niveau de "sécurité" ou "type" si tu aime mieux de cookie. Si tu te rends avec internet explorer dans Outils, Option Internet et Confidentialité tu peux change le niveau de cookie accepté. Mais si tu fais un cookie de haut niveau cela peut mieux marché pour ton compteur... et tu fais une petit fonction du genre:
<?php
session_start();
$_SESSION['accept'] == "oui";
if (!isset($_SESSION['accept']))
{
die('Votre navigateur ne prend pas les cookies!');
}
?>
Mais avec un meilleurs cookie de plus haut niveau. Et si cela est encore le cas qu'ils sont bloqué, utilise l'ip en dernier recour. Donc tu aura un compteur des plus fiables qu'on peut avoir sur internet ;) Bon ok pas le plus fiable mais il sera quand meme dans les meilleurs ;) Si tu as bessoin d'aide pour le code contact moi ;)
__________________________
Bon temps des fêtes et joyeux noël!
Votre Serviteur Rock_4_Ever
Je m'excuse des fautes faites.
Je suis présentement: sur msn.
N'oubliez pas non plus la mention Résolu
Venez nous rejoindre sur le chat de MoteurProg, par Java ou mIRC
Désolé du retard. Merci RoCk_4_EvEr, je vais suivre ton conseil ... je vais utiliser les cookies (sessions) car en ce moment je dois perdre environ 40% de mes visiteurs sur le compteurs ... c'est pas négligeables.
Si j'ai un problème pour le code je te fais signe.
BertProd dit : Pour effectuer ces comptes, je regarde (en php) l'ip de chaque visiteur (vu que l'ip de chaque personne doit être unique). Mais lorsque je vais sur le site en tapant son adresse dans la barre d'adresse puis en passant par google, il me compte comme deux visiteurs différents (= 2 ips différents)
c'est pas possible techniquement que Google te change ton ip parce que tu est passé par lui pour acceder a ton site .
en revanche il est fort probable qu'un Bot passe sur ton site parce que tu as cliqué chez google sur un lien menant a ton site ... (pense aussi a la toolbar si tu en as une)