Créer un fichier contenant l'historique des connexion

Hichxm

Membre
Inscription
15 Octobre 2013
Messages
1 118
Réactions
227
Points
5 721
Hey,
aujourd'hui j'ai créer
un plugin pour vos site qui va tout simplement
générer un fichier "logs.txt"
Code:
[26/10/15][13:33:53] 127.0.0.1 connect to 127.0.0.1/tuto/2/index.php
[26/10/15][13:34:17] 127.0.0.1 connect to 127.0.0.1/tuto/2/index.php
[26/10/15][13:34:18] 127.0.0.1 connect to 127.0.0.1/tuto/2/page1.php
[27/10/15][19:48:01] 127.0.0.1 connect to 127.0.0.1/tuto/2/index.php

Un tutoriel complet est disponible
sur github.

 
D

deleted604342

Hey,
aujourd'hui j'ai créer
un plugin pour vos site qui va tout simplement
générer un fichier "logs.txt"
Code:
[26/10/15][13:33:53] 127.0.0.1 connect to 127.0.0.1/tuto/2/index.php
[26/10/15][13:34:17] 127.0.0.1 connect to 127.0.0.1/tuto/2/index.php
[26/10/15][13:34:18] 127.0.0.1 connect to 127.0.0.1/tuto/2/page1.php
[27/10/15][19:48:01] 127.0.0.1 connect to 127.0.0.1/tuto/2/index.php

Un tutoriel complet est disponible
sur github.

Merci du partage :),
Mais ya plusieurs point et amélioration à faire peut-être ^^:
-Pourquoi créer une classe seulement pour une fonction ?
-Pourquoi passe tu par un array pour traité tes variable string ?
-Il faudrait peut être protégé protégé le fiché logs.txt pour plus de confidentialité ^^

Sinon c'est très bien comme sa hein :)
 

Hichxm

Membre
Inscription
15 Octobre 2013
Messages
1 118
Réactions
227
Points
5 721
Merci du partage :),
Mais ya plusieurs point et amélioration à faire peut-être ^^:
-Pourquoi créer une classe seulement pour une fonction ?
-Pourquoi passe tu par un array pour traité tes variable string ?
-Il faudrait peut être protégé protégé le fiché logs.txt pour plus de confidentialité ^^

Sinon c'est très bien comme sa hein :)
Disons que la qualite de ton code n'est pas un point fort :$
Je sais que le code que je créer n'est pas très complet et pas très sécurisé. Le traitement de fichier en PHP consomme énormément de CPU, je rentabilise sa en faisant un code moins complet :)
 

Hichxm

Membre
Inscription
15 Octobre 2013
Messages
1 118
Réactions
227
Points
5 721
Merci du partage :),
Mais ya plusieurs point et amélioration à faire peut-être ^^:
-Pourquoi créer une classe seulement pour une fonction ?
-Pourquoi passe tu par un array pour traité tes variable string ?
-Il faudrait peut être protégé protégé le fiché logs.txt pour plus de confidentialité ^^

Sinon c'est très bien comme sa hein :)
Une classe ? C'est plus stylé qu'une fonction :trollface:
Array ? C'est pour tout simplement baissé la consommation CPU ;)
 
D

deleted604342

Une classe ? C'est plus stylé qu'une fonction :trollface:
Array ? C'est pour tout simplement baissé la consommation CPU ;)
Le problème c'est que si tu veut vraiment optimisé tous sa, tu peut le faire en 3 ligne, sa mettra moin de temps à php d'allez cherché du texte en mémoire que de cherché dans le tableau ^^
 

AwH

Super Modérateur
Ancien staff
Inscription
28 Septembre 2011
Messages
5 246
Réactions
2 672
Points
7 378
Une classe ? C'est plus stylé qu'une fonction :trollface:
Array ? C'est pour tout simplement baissé la consommation CPU ;)
Sauf que tu demandes a ton serveur de faire plusieurs operation, alors que tu peux le faire simplement.

PHP:
$data = date("d-m-Y H:i:S"). " : ".$_SERVER['REMOTE_ADDR']." connect to " .$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
file_put_content($file, $data, FILE_APPEND);

De plus, apache gere deja les logs
 

Hichxm

Membre
Inscription
15 Octobre 2013
Messages
1 118
Réactions
227
Points
5 721
Si je créer trois variable il y a auras plus de ram utilisé contrairement à si je créer un tableau
Mais la différence ne se voit pas, j'ai créer ceci de façons à ne pas faire buguer trop le script ;)
 

Hichxm

Membre
Inscription
15 Octobre 2013
Messages
1 118
Réactions
227
Points
5 721
Sauf que tu demandes a ton serveur de faire plusieurs operation, alors que tu peux le faire simplement.

PHP:
$data = date("d-m-Y H:i:S"). " : ".$_SERVER['REMOTE_ADDR']." connect to " .$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
file_put_content($file, $data, FILE_APPEND);

De plus, apache gere deja les logs
T'as pas tord mais les logs d'apache son assez bizarre et assez illisible
Le code que tu m'as envoyé sera beaucoup plus difficile à décrypter comparé au mien
 

AwH

Super Modérateur
Ancien staff
Inscription
28 Septembre 2011
Messages
5 246
Réactions
2 672
Points
7 378
T'as pas tord mais les logs d'apache son assez bizarre et assez illisible
Le code que tu m'as envoyé sera beaucoup plus difficile à décrypter comparé au mien
Au contraire ;)

Un petit tour sur la doc pour comprendre que date("d-m-Y H:i:S") retourne une string qui contient la date et l'heure ( )
Et les logs d'apache sont assez clair, quand on prend le temps de les examiner
 

Hichxm

Membre
Inscription
15 Octobre 2013
Messages
1 118
Réactions
227
Points
5 721
Au contraire ;)

Un petit tour sur la doc pour comprendre que date("d-m-Y H:i:S") retourne une string qui contient la date et l'heure ( )
Et les logs d'apache sont assez clair, quand on prend le temps de les examiner
Ne t'inquiète pas je connais le doc php mais en faisant sa : date("H-Y-....") bas sa nous retourne H-Y et non H/Y enfin c'est n'est que un détail, et aussi ma class est facilement modulable comparé à la tienne ;)
 

AwH

Super Modérateur
Ancien staff
Inscription
28 Septembre 2011
Messages
5 246
Réactions
2 672
Points
7 378
Ne t'inquiète pas je connais le doc php mais en faisant sa : date("H-Y-....") bas sa nous retourne H-Y et non H/Y enfin c'est n'est que un détail
Dans ces cas la, tu changes les symboles ;)

et aussi ma class est facilement modulable comparé à la tienne ;)
Ca ne change pas grand chose au final, si tu regardes ;)

J'ecris les logs en 2 fonctions au lieu de 7-8 dans ton code ;)
Tu concatenes au total 6 fonctions alors que tu peux en ecrire qu'une seule.

Tu peux le message de log, le format de l'heure, tout comme toi ;)
 

Hichxm

Membre
Inscription
15 Octobre 2013
Messages
1 118
Réactions
227
Points
5 721
Bas certes tu as raison mais franchement dit moi
entre ses deux codes lequel est le plus modulable ?
PHP:
$data = date("d-m-Y H:i:S"). " : ".$_SERVER['REMOTE_ADDR']." connect to " .$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
file_put_content($file, $data, FILE_APPEND);
PHP:
$DATA = array();
$DATA['M'] = "[".date("d")."/".date("m")."/".date("y")."]";
$DATA['H'] = "[".date("H").":".date("i").":".date("s")."]";
$DATA['URL'] = $_SERVER['REMOTE_ADDR']." connect to " .$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
$DATA['COMPLETE'] = $DATA['M'].$DATA['H']." ".$DATA['URL']."\n";
$files = fopen("logs.txt", "a+");
fputs($files, $DATA['COMPLETE']);
fclose($files);
 

AwH

Super Modérateur
Ancien staff
Inscription
28 Septembre 2011
Messages
5 246
Réactions
2 672
Points
7 378
Bas certes tu as raison mais franchement dit moi
entre ses deux codes lequel est le plus modulable ?
PHP:
$data = date("d-m-Y H:i:S"). " : ".$_SERVER['REMOTE_ADDR']." connect to " .$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
file_put_content($file, $data, FILE_APPEND);
PHP:
$DATA = array();
$DATA['M'] = "[".date("d")."/".date("m")."/".date("y")."]";
$DATA['H'] = "[".date("H").":".date("i").":".date("s")."]";
$DATA['URL'] = $_SERVER['REMOTE_ADDR']." connect to " .$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
$DATA['COMPLETE'] = $DATA['M'].$DATA['H']." ".$DATA['URL']."\n";
$files = fopen("logs.txt", "a+");
fputs($files, $DATA['COMPLETE']);
fclose($files);
Je laisse les autres donner leurs avis ;)
 

HaXGamiG

Développeurs
Premium
Inscription
12 Mai 2014
Messages
1 470
Réactions
323
Points
14 896
Bas certes tu as raison mais franchement dit moi
entre ses deux codes lequel est le plus modulable ?
PHP:
$data = date("d-m-Y H:i:S"). " : ".$_SERVER['REMOTE_ADDR']." connect to " .$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
file_put_content($file, $data, FILE_APPEND);
PHP:
$DATA = array();
$DATA['M'] = "[".date("d")."/".date("m")."/".date("y")."]";
$DATA['H'] = "[".date("H").":".date("i").":".date("s")."]";
$DATA['URL'] = $_SERVER['REMOTE_ADDR']." connect to " .$_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF'];
$DATA['COMPLETE'] = $DATA['M'].$DATA['H']." ".$DATA['URL']."\n";
$files = fopen("logs.txt", "a+");
fputs($files, $DATA['COMPLETE']);
fclose($files);
Celui de @AwH car il est plus claire et simple a comprendre, contrairement au tien
 
Haut