Édition : IP_log

2021-09-04 jpl : comment ne pas enregistrer plusieurs ip au niveau de "if ($ip="xx.xx.xx.xx") // votre propre IP" ?

2018-04-03 jpl : ajout de la catégorie [ Trace ]

2015-03-23 jpl : voir en bas pour la remarque sur zzzz_log Bonjour,

Nouveau ChuWikiste, au passage, merci aux auteurs de ce sympathique software, j'ai souhaité avoir un log des IP des visiteurs.
J'ai trouvé ce script qui fonctionne parfaitement.
Je l'ai mis à la fin du fichier wiki.php.

// IP log
$TextFile = "log.html";
$contents = file_get_contents($TextFile);
$CurrentDate = date("d-m-y H:i");
$ip = (isset($_SERVER)) ? $_SERVER['REMOTE_ADDR'] : $HTTP_SERVER_VARS['REMOTE_ADDR'];
$log = $CurrentDate.' - '.$ip."<br />\n".$contents;
if($FP = fopen($TextFile, "w")){
fwrite($FP, $log);
fclose($FP);
}
//

Il suffit de créer un fichier log.html CHMOD 777 au même niveau pour récupérer les enregistrements.

Cordialement,
Franck

Script un peu plus complet :

// IP log
$time = date("d-m-y H:i"); //using the date() function
$ip = (isset($_SERVER)) ? $_SERVER['REMOTE_ADDR'] : $HTTP_SERVER_VARS['REMOTE_ADDR'];
$referer = $HTTP_REFERER; //$http_referer is PHP variable to get referer
$browser = $HTTP_USER_AGENT; //$http_user_agent is PHP variable for browser 
$fp = fopen("log.html", "a"); //use the fopen() function 
fwrite($fp, "Time: $time: $ip: $referer: $browser </br>"); //using the fputs() function 
fclose($fp); //closing the function

Cordialement babgond

Il me semble qu'il y avait une version zzzz_log qui existait et qui permettait de ne pas loger certaines IP. Ca vous dit quelque chose ?


Saluts les codeurs !

Dites, on peut ainsi même créer directement une page (dans le répertoire pages) hisoitre d'intégrer les logs dans le wiki.

Fabio ^_^ (2006-05-31)

Voilà ce que je fais:

<?php
$mois = array('', 'Janvier', 'F&eacute;vrier', 'Mars', 'Avril', 'Mai', 'Juin', 'Juillet', 'Ao&ucirc;t', 'Septembre', 'Octobre', 'Novembre', 'D&eacute;cembre'); 
$jour = array('Dimanche', 'Lundi', 'Mardi', 'Mercredi', 'Jeudi', 'Vendredi', 'Samedi'); 
$datefr = $jour[date("w")].' '.date("j").' '.$mois[date("n")].' '.date("Y");
$Heure = date("G");
$Minute = date("i");
$ip = $_SERVER["REMOTE_ADDR"];
if ($ip="xx.xx.xx.xx") // votre propre IP
	{$ip="God";} //  :-))
$page = $_SERVER['REQUEST_URI'];
$browser = $_SERVER['HTTP_USER_AGENT']; 

$fp = gzopen("./pages/zzzz_log/20060606235900.gz", "a"); 
gzputs($fp, "$datefr $Heure h $Minute IP: $ip Page: $page Navig: $browser 
"); gzclose($fp); ?>
   Je ne le place que dans edit.php pour logger uniquement les modifications de pages
   La page s'appelle zzzz_log pour figurer en fin de liste
   L'avantage du nom fixe (2006...), c'est que les utilisateurs ne peuvent modifier cette page

Pierre *

Règles de formatage

_texte_
Faire une emphase (italique)
__texte__
Faire une emphase forte (gras)
@@texte@@
Faire un petit code
''texte|langue|source''
Faire une petite citation
>texte
Faire un paragraphe de citation
[texte|URI|langue|titre]
Faire un lien vers une page, les paramètres sont optionnels
((image|texte alternatif|alignement))
Ajouter une image, alignement peut valoir G(auche), D(roite) ou C(entre)
texte
Tout texte écrit simplement sera transformé en paragraphes.
!titre1, !!titre2, !!!titre3, etc.
Créer un titre d'un niveau égal au nombre de !
-texte ou *texte
Faire une liste d'éléments non numérotés
#texte
Faire une liste d'éléments numérotés
;titre:définition
Faire une définition/liste de définitions
??acronyme|titre??
Faire un acronyme
[ESPACE]texte ou {{{texte}}}
Le texte sera préformaté, utile pour écrire des bouts de code
==== ou ---- (au moins 4)
Une ligne de séparation horizontale
\
Si vous ne voulez pas que la syntaxe wiki s'applique, faites précéder les caractères spéciaux par des anti-slashs.