Sistema di LOG degli accessi in ASP | |
![]() |
|
|
ASP Center
Articoli
Referenze
Script
FAQ
Downloads
Siti utili
Menu Javascript
Ricette
Cocktail
Corsi online
Registrazione domini
Area Aziende
|
Sistema di LOG degli accessi in ASP
Monitorare gli accessi al proprio sito è sempre molto importante, ed importante è anche conoscere alcuni dati dei propri visitatori, dato che il semplice contatore di accessi non restituisce dati essenziali per sapere se le visite provengono da persone differenti o sempre dai pochi affezionatissimi.
Allo scopo è necessario istituire un sistema di LOG degli accessi basandosi su una struttura ingrado di contenere dei dati. In genere questo compito è demandato al database, ma è possibile immaginare che un sito che fa molte visite al giorno tenderebbe ad appesantire la banca dati (e quindi il carico di lavoro del server) in men che non si dica; quindi... perchè sprecare risorse? Altro sistema comodo per la memorizzazione dei dati di accesso al sito (nel caso specifico ci interessano data ed ora dell'accesso ed indirizzo IP del visitatore) è XML che, essendo un file di testo a tutti gli effetti, per di più con una struttura logica e comoda acui accedere in lettura ed in scrittura, risulta perfetto allo scopo. Quindi usiamo XML? No, utilizzeremo un normale file di testo :-) Passiamo all'atto pratico. Gestiremo tutto in ASP Si predisponga sul server in cui lo script deve andare in produzione una cartella con i permessi in scrittura sui file di testo, ad esempio log. Si crei nella root del proprio sito il file log.asp di cui segue il codice, corredato da opportuni commenti:
<%
' RECUPERO LA DATA E L'ORA DELL'ACCESSO
Dim gg, mm, aa, hh, mn, ss, data, ora
gg = Day(Date())
mm = Month(Date())
aa = Year(Date())
hh = Hour(Time())
mn = Minute(Time())
ss = Second(Time())
data = gg & "/" & mm & "/" & aa
ora = hh & ":" & mn & ":" & ss
' IMPOSTO IL NOME AL FILE DI LOG
' E RECUPERO L'IP DEL VISITATORE
Dim log, ip
log = "log/" & gg & "-" & mm & "-" & aa & ".txt"
ip = Request.ServerVariables("REMOTE_ADDR")
' SCRIVO I DATI NEL FILE DI TESTO
Dim fso, inserisci, vecchi
Set fso = Server.CreateObject("Scripting.FileSystemObject")
Set inserisci = fso.OpenTextFile(Server.MapPath(log), 8, True)
inserisci.WriteLine ora & " - " & ip
' UN PO DI PULIZIA...
Set inserisci = Nothing
Set fso = Nothing
%>
L'unica riga che andrebbe cambiata è questa:
log = "log/" & gg & "-" & mm & "-" & aa & ".txt"nella porzione evidenziata in grassetto, nel solo caso in cui la cartella che conterrà i file di testo si chiami in modo diverso da log. Il risultato sarà una serie di file di testo che avranno il nome della data corrente. Oggi ad esempio, nel momento in cui scrivo, è l'8 marzo (auguri a tutte le donne) ragion per cui il file avrà nome: 08-03-2007.txtDomani sarà: 09-03-2007.txte cosi via. Questo file va incluso in tutte le pagine del sito con le SSI: <!--#include file="log.asp"-->oppure: <!--#include virtual="/log.asp"-->nel caso in cui il sito sia gestito in più cartelle. |
Newsletter
Stringhe di Conn.
|
||
| © 2008 ASP Center di Luca Ruggiero - P. IVA 05564851219 - Utenti online: 23 - Disclaimer | Pubblicità | Supportaci | Staff | Contatti | ||||
| Appunti PHP | Giornale Webmaster | Mr.Webmaster | Download | DevSpy.com | ASPCode.it | ClaudioGarau.it | Webmaster Facile | Come Faccio | AlVerde.net | CodiceFacile.it | I Programmatori | By Luciani | VoiceXML Italian User Group | Giochi | Extro Web Site | Morpheus Web | AG Web Solutions | Net-Free | PC Sicuro | PC Self | Tutorial Web | Dablones | ||||