COMPTEUR DE CONNECTÉS

cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004 - 13 juil. 2002 à 23:01
cymoud Messages postés 21 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 15 septembre 2007 - 7 août 2008 à 23:10
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/12965-compteur-de-connectes

cymoud Messages postés 21 Date d'inscription mardi 18 février 2003 Statut Membre Dernière intervention 15 septembre 2007
7 août 2008 à 23:10
Hey les gens, réagissez, il y a au moins 2 failles de sécurité là déjà ! En tout cas je n'en ai vue que 2 pour l'instant.
La première concerne l'injection SQL, heureusement que frakosun a proposé une solution mais manque de pot, Dean n'a pas jugé utile de le corriger dans la source, donc plein de gens continueront à trouer leur sécurité en copiant cette source.
La deuxième est que même si le script vérifie bien la cohérence de l'adresse IP donnée en HTTP_X_FORWARDED_FOR ou en HTTP_CLIENT_IP (ce qui n'est déjà pas le cas), je peux quand même générer un petit script qui enverra une fausse IP aléatoire dans l'en-tête de la requête HTTP et donc faire exploser le compteur de chez moi même sans aucun proxy.
cs_Arnauti Messages postés 392 Date d'inscription mercredi 24 novembre 2004 Statut Membre Dernière intervention 26 septembre 2009
5 juil. 2008 à 11:09
Tres joli script :)
frakosun Messages postés 10 Date d'inscription lundi 7 août 2006 Statut Membre Dernière intervention 11 janvier 2008
21 mars 2008 à 00:03
En fait il existe plusieurs solutions plus ou moins 'correctes' on va dire.
Par ex. la méthode de kankrelune donné plus haut fonctionne, mais pourquoi faire compliqué (htmlspecialchars + addslashes) alors que mysq_real_escape_string est une fonction sql donc 100% adaptée?

Il faut l'utiliser avant toute interaction avec la bdd (select, update & co.) sans exception ;)

Par contre si les "magic quotes" sont activés sur le serveur cela va échapper 2 fois certains caractères comme les ' ou " donc c'est pas top. Il existe une fonction qui s'occupe d'y remédier, qui va vérifier si les magic quotes sont sur ON ou OFF et qui va agir en conséquence (par contre désolé je ne l'utilise pas donc je ne l'ai pas...).

Pis pour peaufiner avec une bonne dose de parano pour l'affichage un 'int($current_num_clients)' ne peut pas faire de mal :P
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
20 mars 2008 à 18:36
>> pour la faille un 'mysql_real_escape_string($_SERVER['REQUEST_URI'])' devrait suffire, pas besoin d'en mettre 12 tonne ;)

Merci, je me demandais justement si l'on pouvait "préparer" les requêtes SQL avec PHP (de façon sécurisée), cela répond à ma question.
frakosun Messages postés 10 Date d'inscription lundi 7 août 2006 Statut Membre Dernière intervention 11 janvier 2008
20 mars 2008 à 10:43
pour la faille un 'mysql_real_escape_string($_SERVER['REQUEST_URI'])' devrait suffire, pas besoin d'en mettre 12 tonne ;)
peoplehard Messages postés 26 Date d'inscription samedi 26 avril 2003 Statut Membre Dernière intervention 26 novembre 2008
20 janv. 2007 à 18:46
Merci pour ce super script :)

Pour la structures mysql:
CREATE TABLE `clients` (
`client_id` varchar(64) NOT NULL default '',
`client_location` varchar(128) NOT NULL default '',
`client_time_request` int(11) NOT NULL default '0',
PRIMARY KEY (`client_id`,`client_location`)
) ENGINE=MyISAM DEFAULT CHARSET=latin1;
kankrelune Messages postés 1293 Date d'inscription mardi 9 novembre 2004 Statut Membre Dernière intervention 21 mai 2015
24 déc. 2005 à 04:51
J'adore les mecs qui viennent se dandiner en disant "bonjour la faille" mais qui ne sont pas capable de dire comment la résoudre pour éviter aux utilisateurs du script en question d'être touchés... dans d'autre cas on appel ça "non assistance à personne en danger"... pffffffffff... lamentable... .. .

Bon pour complèter il faudrait parser le $REQUEST_URI car sinon effectivement vous vous exposez à des gros soucis...

trim(htmlspecialchars(addslashes($_SERVER['REQUEST_URI'])));

devrait suffire... .. .

@ tchaOo°
chapodepay Messages postés 7 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 18 avril 2007
22 nov. 2005 à 15:39
bonjour la faille -_-
celui ki met se script sur son site s'expose a de gros souci...

chapodepay
www.horslimite.net
hardman566 Messages postés 1 Date d'inscription dimanche 22 août 2004 Statut Membre Dernière intervention 1 septembre 2004
1 sept. 2004 à 13:45
Bravo pour ton script!

Tres clair! Simple d'installation! Rapide!...parfait à mon goût et pour mes besoins.

Merci.
Yoteco Messages postés 111 Date d'inscription lundi 20 octobre 2003 Statut Membre Dernière intervention 5 novembre 2008
9 juin 2004 à 08:04
Salut,

Je suis sous un proxy et il y a environ 20 pc derrière... mais ils ont tous la même ip quand il se connecte! C'est embêtant :-( tu ne saurais pas pk?
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
15 août 2003 à 00:38
Merci pour le spam (11 nouveaux messages...) ;-).

Sinon pour ton problème HenvimaL, je tiens à préciser que tu n'as pas besoin de créer la table SQL manuellement, puisque cela est géré par le script. Donc vire ta table et réessaie :-).
HenvimaL Messages postés 28 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 7 juin 2010
14 août 2003 à 23:51
bon b1 en tou cas GG la carrotte tu as reussi a faire croire ke tu etais un dieu du php alors ke..; GG la carote, tu dois me comprend !
bricethenetman Messages postés 72 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 mai 2008
14 août 2003 à 23:37
Vérifie si t'as pas oublié un ";" quelquepart. Sinon tu peux m'envoyer t'as source par email je peux y jeter un coup d'oeil pour voir si je peux t'aider.
HenvimaL Messages postés 28 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 7 juin 2010
14 août 2003 à 23:00
comme d habitude je suis un chanceu C pil la mauvais ligne !
HenvimaL Messages postés 28 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 7 juin 2010
14 août 2003 à 22:58
ahah voila j ai compris le truc, mais encore un probleme j ai entré le code en php, config etc... et en haut de ma page il ecrit

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in index.php on line 49

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in index.php on line 52
voir http://henvimal.a.free.Fr
bricethenetman Messages postés 72 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 mai 2008
14 août 2003 à 22:55
ben je c pas g pas tester ce script en plus moi aussi je suis newbi(g un mois et demi de php) mais je pense ke si t'as tout bien suivi il ne te reste plus rien a faire sauf si le script contient des erreurs
HenvimaL Messages postés 28 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 7 juin 2010
14 août 2003 à 22:48
voila donc maintenant j ai creer ma db et mes 3 champs, mais que faire avec ?
HenvimaL Messages postés 28 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 7 juin 2010
14 août 2003 à 21:13
oué ok merci :D
bricethenetman Messages postés 72 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 mai 2008
14 août 2003 à 18:15
sinon tu peut toujours aller sur nexen.net ou sur le site officiel de php pour completéer tes connaissance en programmation web.
bricethenetman Messages postés 72 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 mai 2008
14 août 2003 à 18:14
mysql_select_db() est une fonction php qui va sélectionner une base de donnée afin que tu puisse la manipuler(si tu ne défini pas de bdd php ne saura pas executer tes requetes). mysql_connect sert à te connecter à la bdd choisi si les parametre host, user et password sont bons. Mais le mieux pour toi ca serais d'aller sur des cours de php en ligne comme phpdébutant
HenvimaL Messages postés 28 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 7 juin 2010
14 août 2003 à 17:16
oui oui j ai activé la base mysql chez free je suis dessus mais je comprens rien, donc dans mon index.php je mes <?php include('live_counter.php") ?> ensuite j mes le php etc... mais ca sert a quoi
mysql_select_db("database", mysql_connect("localhost", "root", ""));
et surtout j le mes ou ? uHu :p
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
14 août 2003 à 17:05
Bonjour,

Tu peux inclure ce code dans une page "live_counter.php" que tu inclus dans ton index via include() ou require().
Ensuite, tu n'as plus qu'à récupérer les variables ($num_clients...) dont tu veux te servir.

Pour la base MySQL, si tu es chez Free il faut d'abord l'activer (voir www.free.fr).
Après il te suffit de paramétrer la ligne :

mysql_select_db("database", mysql_connect("localhost", "root", ""));

Avec le serveur ("sql.free.fr"), pour le nom d'utilisateur et le mot de passe ce sont les mêmes que pour l'accès FTP.
HenvimaL Messages postés 28 Date d'inscription dimanche 18 mai 2003 Statut Membre Dernière intervention 7 juin 2010
14 août 2003 à 16:37
moi je suis un debutant dans le php et je ne le comprend pas tres bien, seule probleme (ne vous moquez pas), j aimerai savoir ou le mettre cette chose, dans la index.php, marche pas :S, et mysql oula, j suis chez free si on peu me donner un petit conseil
bricethenetman Messages postés 72 Date d'inscription jeudi 19 juin 2003 Statut Membre Dernière intervention 3 mai 2008
20 juil. 2003 à 14:05
Je suis un newbie mais je dois dire ke ce code me parait génial. C'est des script kom ca ki donne envie de progresser. merci. Ce script mérite au moins 10/10.
mathieumg Messages postés 558 Date d'inscription mardi 4 février 2003 Statut Membre Dernière intervention 18 février 2006
29 juin 2003 à 13:43
Très bien !
i0Lo Messages postés 62 Date d'inscription jeudi 7 novembre 2002 Statut Membre Dernière intervention 5 mai 2004
12 mai 2003 à 11:38
mmmmm trés sympa ca m'a évité de me prendre la tête dans des recherches pas possibles lol
Trés bonne source allez zou un 10/10
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
13 avril 2003 à 01:07
Eh bien c'est sympa tous ces messages ! Merci à vous aussi !
relizwork Messages postés 3 Date d'inscription samedi 18 janvier 2003 Statut Membre Dernière intervention 21 avril 2003
12 avril 2003 à 15:53
merci beaucoup ton script est vraiment super , gg ++ all
lumesh Messages postés 564 Date d'inscription jeudi 21 février 2002 Statut Membre Dernière intervention 7 novembre 2008
12 avril 2003 à 12:54
en fait ce que je trouve exelent c que par rapport au autres scripts du genre, bah le tiens si tu vire la creation auto de la table ainsi que tous les commentaires il ne reste que 7 lignes !!!
le pire c'est que ca marche aussi bien que les autres scripts (enfin ceux qui marchent lol).

En gros c'est parfait pour implementer dans son site woueb !
cs_Kikounet Messages postés 2 Date d'inscription jeudi 7 mars 2002 Statut Membre Dernière intervention 16 juin 2003
7 avril 2003 à 19:27
Clair... Exelent ton script =) merci bcp pour ca... Ca va pas mal m'aider lol =)
grdscarabee Messages postés 134 Date d'inscription mercredi 24 juillet 2002 Statut Membre Dernière intervention 7 août 2005
25 juil. 2002 à 00:01
Bravo, excellent travail. te laisse pas bouffer, ya des trousduc partout. J'adorerais pouvoir pondre un script come ça. ;)
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
22 juil. 2002 à 12:28
OK, je fais les modifs tout de suite.
g0belin Messages postés 155 Date d'inscription jeudi 6 décembre 2001 Statut Membre Dernière intervention 19 avril 2010
22 juil. 2002 à 07:37
juste tu devrai mettre la structure de la base SQL
g0belin Messages postés 155 Date d'inscription jeudi 6 décembre 2001 Statut Membre Dernière intervention 19 avril 2010
22 juil. 2002 à 07:28
t'inkiete pas c'est surement des jaloux
cs_Dean Messages postés 500 Date d'inscription mardi 16 avril 2002 Statut Membre Dernière intervention 2 août 2004
13 juil. 2002 à 23:01
1/10 ?
Merci beaucoup, je vois qu'il en a qui apprécient !
Ce serait encore mieux d'avoir une justification écrite...
Rejoignez-nous