Tag Results for 'php'

php l0gg3r 0.2.2: a very simple php logger

freaky_head

Italiano :: English :: Download Source Code

it Ciao ragazzi, ho deciso di modificare lo script precedentemente proposto aggiungendo nuove feature piuttosto funzionali. Da notare quindi:

  • Logrotate function -> invio "periodico" del file di log all'email dell'amministratore e contemporaneo reset del file di log principale [access.log]. Verrà comunque mantenuto sul server un backup del file di log [accessDataOra.log], per ovviare ad eventuali problemi in fase di invio della mail stessa;
  • Country identification based on IP address -> script basato su http://www.phptutorial.info/iptocountry/the_script.html, il quale utilizza il database fornito da software77.net;
  • Pie charts -> realizzazione di grafici a torta mediante Google Chart Tools.

File utili:

  • l0gg3r.php (contiene le funzioni necessarie al logging)
  • list.php (lista formattata del file di log)
  • stats.php (statistiche e grafici a torta)

Si raccomanda di modificare le righe 40,41 del file l0gg3r.php, in modo da indicare l'email cui inviare il file di log:

  1. ...
  2. $to = "admin@yoursite.com";
  3. $site_name = "www.yoursite.com";
  4. ...
Per un'immagine d'esempio guarda in fondo a questo post.

um Hello guys, I decided to modify the previously proposed script adding new functional features. See the list below:

  • Logrotate function -> "periodic" log file sending to the admin mail address and main log file reset [access.log]. A backup log file will be maintained on the server [accessDateTime.Log] to avoid data loss if the mail sending fails;
  • Country identification based on IP address -> script based on http://www.phptutorial.info/iptocountry/the_script.html, which uses the database provided by software77.net;
  • Pie charts -> pie charts using Google Chart Tools.

Useful files:

  • l0gg3r.php (it contains the functions needed for logging)
  • list.php (log file formatted list)
  • stats.php (statistics and pie charts)

It is recommended to change the lines 40,41of the file l0gg3r.php, to indicate the admin mail address:

  1. ...
  2. $to = "admin@yoursite.com";
  3. $site_name = "www.yoursite.com";
  4. ...
You can see a sample image at the bottom of this post.

Download Source Code:

php_l0gg3r_0.2.2.tar.gz


2010-03-28-201451_1280x800_scrot.png
stats.php (output example)

2010-03-29-235842_1280x730_scrot.png
list.php (output example)

(Icon by dimpoart)

php l0gg3r 0.2: a very simple php logger

PE.png

Ciao ragazzi...! Sulla scia del vecchio post, ho pensato di modificare molto lo script per renderlo notevolmente più funzionale.

Ho pensato di realizzare il tutto mediante le sessioni del php in modo tale da avere un file di log degli accessi al sito, che rappresenti visite "uniche". Nella prima versione aprire una file di circa 500k (in continua crescita) dal proprio browser non era affatto piacevole in termini di tempo. In termini di spazio, avere un file unico in continua espansione e per di più senza alcun tipo di mirroring o ridondanza (leggasi backup) non è affatto astuto!

Il contenuto loggato rimane il medesimo:

  1. [+] User Agent -> $_SERVER['HTTP_USER_AGENT']
  2. [+] IP -> $_SERVER['REMOTE_ADDR']
  3. [+] Date / Time
  4. [+] $_SERVER['REQUEST_METHOD'] - $_SERVER['REQUEST_URI'] - $_SERVER['SERVER_PROTOCOL'];
  5. [+] Os (non completo!)
  6. [+] Referer -> $_SERVER['HTTP_REFERER']

Statistiche

Ciò che differisce dalla vecchia versione è sostanzialmente un meccanismo semplicissimo di statistiche; una tabella mostra i browser ed i sistemi operativi che hanno visitato il sito con una serie di percentuali a riguardo. Al tempo stesso una tabella mostra le parole chiave di ricerca da google con cui un utente è giunto alla nostra pagina. (Vedi Immagine 1.)

Struttura

Il tutto è strutturato in modo banale; basta aprire il codice sorgente di l0gg3r.php per capire il funzionamento. I percorsi all'interno dei file sono relativi.
La cartella stat presenta una serie di file *.log, ognuno dei quali funge da contatore globale.

Immagine 1.

2009-11-29-151732_1276x353_scrot.png

Clicca sull'immagine per ingrandire

Download source code

phpl0gg3r_0.2.tar.gz

EDIT 30/11/09: ho modificato alcune piccolezze che producevano delle discrepanze nelle statistiche. Il file di cui sopra è aggiornato.

(icona iniziale by dimpoart)

php l0gg3r: a very simple php logger

Ciao ragazzi, sto tentando di scoprire le varie possibilità che habari offre. Effettivamente la sezione relativa all'amministrazione è davvero ben fatta; degna di nota è la user interface estremamente intuitiva.
Passiamo a noi...

Informazioni

php l0gg3r è una funzione php in grado di memorizzare all'interno di un file txt, log o quel che si voglia talune informazioni relative agli utenti che visitano una pagina. Il tutto è complessivamente banale ed intuitivo...

Esso è composto da un file l0gg3r.php contenente la funzione suddetta ed un file list.php che si occupa di mostrare il contenuto del file di log mediante una piacevole tabella. Al momento il file di log è access.log, è possibile modificare lo stesso e personalizzare il tutto (informazioni da loggare comprese).

Per utilizzare la funzione si procede nel modo seguente:

  1. <?php
  2. include ("l0gg3r.php");
  3. l0gg3r();
  4. ?>

(Per visualizzare il file di log è possibile accedere a list.php mediante il proprio browser, vedi Immagine 1.)

Cosa viene "loggato"?

Il tutto è ricondotto all'utilizzo degli http-headers (info a riguardo).

  1. [+] User Agent -> $_SERVER['HTTP_USER_AGENT']
  2. [+] IP -> $_SERVER['REMOTE_ADDR']
  3. [+] Date / Time
  4. [+] $_SERVER['REQUEST_METHOD'] - $_SERVER['REQUEST_URI'] - $_SERVER['SERVER_PROTOCOL'];
  5. [+] Os (non completo!)
  6. [+] Referer -> $_SERVER['HTTP_REFERER']

N.B. si è tenuto conto di un'evetuale iniezione malevola, indi si è ritenuto opportuno prevenire con

  1.  
  2. ...
  3. $agent = htmlspecialchars($_SERVER['HTTP_USER_AGENT']); // no http headers injections please... :)
  4. ...

Download

l0gg3r.tar.gz

Immagine 1.

Clicca sull'immagine per ingrandire

Integrazione con Habari

Ho tentato di integrare la funzione con questo blog system con risultati positivi, essenzialmente è doveroso richiamare l0gg3r dal file che gestisce gli header del tema. Naturalmente occorre far attenzione ai percorsi affinchè l'inclusione sia corretta e il path dell'access.log sia giusto.

(Icona iniziale by dimpoart)