Help ! Compteur de visiteurs
Le
Kiriasse
Bonjour,
J'aimerais placer sur la page d'accueil (index.html) de mon site un compteur
de visiteurs mais qui ne comptablise que les visites de cette seule page
principale (pas les autres pages) et qui ne me comptabilise pas moi-même
(quand je me connecte à mon site depuis mon ordinateur). Et sans base de
données.
Est-ce possible ?
Si oui, quelqu'un aurait-il la gentillesse de me donner à télécharger un
script PHP (ou JavaScript) qui ferait cela ?
Merci d'avance.
Kiriasse
J'aimerais placer sur la page d'accueil (index.html) de mon site un compteur
de visiteurs mais qui ne comptablise que les visites de cette seule page
principale (pas les autres pages) et qui ne me comptabilise pas moi-même
(quand je me connecte à mon site depuis mon ordinateur). Et sans base de
données.
Est-ce possible ?
Si oui, quelqu'un aurait-il la gentillesse de me donner à télécharger un
script PHP (ou JavaScript) qui ferait cela ?
Merci d'avance.
Kiriasse

Poser une question


Avant tout chose, je dois rappeler qu'il faut préférer l'analyse des
logs du serveur à l'ajout de tout autre truc quel qu'il soit car on va
nécessairement consommer des ressources totalement inutilement. Et
l'analyse des logs est toujours fiable. Donc commence par vérifier si
ton hébergeur ne le donne pas en standard, ou s'il ne donne pas un accès
aux logs http, cas dans lequel il y a par exemple le très bon outil
awstats: http://awstats.sourceforge.net
Si tu ne veux pas de SGBDR, le plus simple est de tout externaliser et
laisser les autres se prendre la charge à ta place. Ca tombe bien,
google analytics fait pile poil ce qu'il te faut.
http://www.google.com/analytics/fr-FR/
a++;
JG
PS: petit rappel de sécurité au passage pour ceux qui seraient tentés
d'écrire leur propre compteur: les variables de $_ENV et $_SERVER comme
au hasard user-agent ou referer sont d'excellents vecteurs d'attaque et
absolument pas fiables (injection SQL par exemple).
qui est écrit sur ce site en anglais, je ne suis pas sortii de l'auberge.
Merci quand même de m'avoir répondu.
Kiriasse
Répondant à
== "John GALLET"
Avant tout chose, je dois rappeler qu'il faut préférer l'analyse des
logs du serveur à l'ajout de tout autre truc quel qu'il soit car on va
nécessairement consommer des ressources totalement inutilement. Et
l'analyse des logs est toujours fiable. Donc commence par vérifier si
ton hébergeur ne le donne pas en standard, ou s'il ne donne pas un accès
aux logs http, cas dans lequel il y a par exemple le très bon outil
awstats: http://awstats.sourceforge.net
(...)
You know what they say : no pain, no gain.
Blague à part, ça se limite à modifier le fichier standard de
configuration fourni dans la distrib (awstat.conf de mémoire) pour
indiquer où sont les logs à lire et où écrire les résultats et le cache
des données. Un login/pass dans un .htaccess pour empêcher l'accès des
fois qu'il y ait une faille de sécurité dans le machin et on en parle
plus. Tu remarqueras au passage que l'auteur d'awstats, qui est
français, a fait l'effort de fournir une doc pour la terre entière.
Maintenant il n'y a pas que lui, mais il est plus complet que webalyzer
par exemple.
JG
--
Il y a des salopards de cybercable qui essaient de rentrer dans mon
ordi!!!!!!
Et où pourrai je trouver un bon firewall en français???
-+- SS in NPC : Cherche VF pour bien bouter l'intrus -+-
mon cas), ça ne doit tout de même pas être bien malin à réaliser un
algorithme en PHP qui serait en gros, me semble-t-il, le suivant.
Incrémenter le compteur d'une unité sauf :
- si la page consultée n'est pas index.html ;
- si l'adresse IP de l'ordinateur qui se connecte est celle de l'ordinateur
du « webmaster ».
C'est cela que je voudrais avoir.
Je renouvelle donc ma demande.
À votre bon coeur...
Kiriasse
Répondant à
== "John GALLET"
Blague à part, ça se limite à modifier...
Sachant que l'algo est complètement pris à l'envers, ça commence pas
super bien.
Non seulement c'est à l'envers, car c'est par requête http que le script
est exécuté ou pas, mais sauf à tricher sur l'extension par un .htaccess
par exemple, ça va être :
- uniquement sur la page index.php
Fort heureusement, c'est assez facile à implémenter...
Donc tu as une adresse IP fixe et tu ne te connectes jamais en dehors de
cet ordinateur ? Je ne suis pas fana des cookies, mais là ça me semble
s'imposer, ou alors selon la *raison* pour laquelle tu vas regarder
cette page, trouver un autre moyen: passer un argument, tripoter le
user-agent, avoir une page dédiée pour faire cette tâche là, bref
n'importe quoi qui soit un peu plus souple que de l'IP. Ou alors il faut
jouer avec DynDNS par exemple.
J'avais compris.
Mais l'implémentation n'est pas si simple pour le faire proprement. Oh
bien sûr on peut faire 20 à 30 lignes de code qui marchoteront et qui
régulièrement se prendront les pieds dans le tapis parce que Murphy
notre ami aura fait un accès concurrentiel lors de l'ouverture du
fichier (vu que tu indiques "sans base de données"). Et puis demain tu
voudras avoir les résultats pour chaque mois, ou depuis ta dernière
demande. Ou autre chose. Donc au lieu de passer du temps à faire
salement ce que d'autres méthodes font proprement, mieux vaudrait
utiliser les mécanismes adéquats mais bon, apparemment "ça va pas", donc
je n'insiste pas plus.
De mon côté j'en profite pour saluer amicalement Nike, le sponsor
perpétuel de ce forum. Je précise que c'est à prendre au second degré,
j'ai également bien lu que tu déclares ne pas maîtriser PHP donc ne pas
pouvoir le faire toi-même.
a++; JG
--
SJ> Just do it.
TM> Traduction ?
Bouge toi le cul.
-+- RMD in GNU : Move your ass -+-