Visualizzazione dei risultati da 1 a 8 su 8
  1. #1

    Un sistema di log in PHP

    mi chiedevo se possa essere di utilità, per siti di grandi dimensioni come quello cui sto lavorando, implementare un sistema di log che memorizzi le operazioni quali accesso degli utenti, modifiche e cose del genere oppure se è solo una perdita di risorse

    nel caso sia opportuno farlo, c'è qualcosa che devo sapere a riguardo? nn so, uno standard nella codifica del log o similari?

    e se invece optassi per utilizzare i log di sistema e le funzioni che php5 gia'mette a disposizione per gestirle? Gli host services in genere consentono l'accesso alla /var per salvare i log suddetti?

    grazie in anticipo per tutte le risposte ^^
    Gabriele B. - http://9thcircle.it

  2. #2
    Può essere un informazione utile se bisogna fare delle statistiche di accesso e di visita delle singole pagine, oppure per questioni di sicurezza. Non so se esiste uno standard. Comunque non penso tu debba dedicarci molto lavoro, perchè un web server come ad esempio apache lo fa già lui di per se. Soprattutto per quanto riguarda la parte della sicurezza. Prova a cercare qualcosa in rete.

  3. #3
    ho trovato un po' di cose, in effetti. Lo standard è, in effetti, quello del syslogd di Unix. PHP offre un paio di funzioni gia' fatte che vanno piu' che bene e quindi nn c'è molto da codare. Resta pero' da capire se i web services danno la possibilita' di scrivere questi log...

    Apache si occupa di tutti quei log e quegli errori http. La mia esigenza pero' e' diversa: voglio memorizzare info nn necessariamente "critiche", come ad esempio il nome utente di chi ha modificato questa o quella tabella di database o l'indirizzo ip di chi ha tentato di forzare la procedura di login o altre problematiche "interne" al mio framework php...
    Gabriele B. - http://9thcircle.it

  4. #4
    Come vedi la risposta è un pò lunga, ma spero sia esaudiente.
    Attenzione, apache non si occupa solo degli errori http ma di tutti i servizi di rete. è un software molto complicato. E soprattutto è molto difficile da conoscere e configurare in profondità! Affrontiamo un problema alla volta: vorrei iniziare dal secondo. L'unico modo che io conosco, ma presumo ce ne siano altri, per vedere se un indirizzo ip tenta di forzare la procedura di login è controlloare la quantità di accesso alla pagina di login, oppure al codice di gestione di login. Questo si può fare contando il numero di volte in un determinato tempo in cui ip si connette alla pagina della login. Ovviamente è più facile se la pagina della login è una pagina a se stante e non la home page ad esempio. Presumo tu sappia che ogni volta che tu ti connetti a un web server lasci l'indirizzo ip con cui ti sei connesso a quella pagina. Il web server registra in un file log tutti gli accessi. Potresti analizzare quel file sulla quantità di connessioni avvenute nel tempo precedente. E facendo un calcolo ragionato impedire la connessione a quel ip per un determinato tempo (non infinito perchè gli ip al 99% delle volte non sono statici). Questo renderebbe molto più difficile a un presunto utente che voglia forzare il login la vita. NB: questo è un argomento vastissimo su cui puoi trovare molto materiale in rete e parecchi libri. Vorrei ricordarti anche di leggere i problemi relativi alla sicurezza in php. Trovi molto in rete. Inoltre la sicurezza del tuo sito dipende sia dal codice php che implementi, sia la sicurezza del tuo web server.
    Per quanto riguarda il primo problema presumo tu possa risolverlo facilmente usando una tabella sulla quale registri data ora e nome utente ogni volta che un utente attraverso il tuo sito vuole modificare una tabella, quindi ogni volta che effettui una query che modifica i dati, ne fai seguire una immediatamente successiva che registra chi l'ha modificata.
    Spero che sia la risposta che cercavi, altrimenti domanda, cercherò di capire meglio cosa devi fare.

  5. #5
    ti ringrazio molto sulle "dritte" su apache. Credo proprio che mi documentero' un po' meglio...sembra esserci molto materiale da cui pescare

    Quello che mi hai descritto e' sicuramente un ottimo sistema per il problema della sicurezza e lo metto subito in pratica ^^

    Il "log su database" è in effetti il sistema che sto utilizzando adesso ed è proprio da questo punto di partenza che cercavo un sistema piu' efficente. Nel caso voglia loggare una attivita' che riguarda il database mysql, questo metodo è sicuramente interessante e consente tante operazioni sul logfile (sebbene richieda, a conti fatti, una query "doppia" per ogni operazione passibile di log), ma a parte questa considerazione sulla velocita' e sulla pesantezza del codice cercavo un metodo piu' generale (utilizzabile quindi senza database mysql e relativa mia classe DBConnection che istanzio ogni volta) e che sfruttasse la potenza dei log di sistema di unix.

    Poter contare sull'archiviazione automatica e su altre procedure di amministrazione (cancellazione vecchi log e simili) molto potenti fornite da *nix e' sicuramente una garanzia niente male. Oltre che di poca fatica per me, visto che ci sono delle funzioni php apposite nel core

    il problema rimane lo stesso, pero': simili privilegi sono garantiti dai web services o sono "lussi" per i soli fortunati che si gestiscono il proprio mostro in server housing?
    Gabriele B. - http://9thcircle.it

  6. #6
    ... a questa domanda non so risponderti. Posso presumere che in base al costo del servizio si abbia anche di conseguenza il servizio stesso. Probabilmente si, ma bisogna sborsare molti soldi all'anno. DEvi informarti direttamente con i web services e domandare loro servizi offerti ed eventuali potenziamenti che possono darti.

  7. #7
    una curiosità:... si può sapere quale è il sito al quale stai lavorando!!!??
    altrimenti non fa nulla

  8. #8
    ehehe *sorpesa* nn e' niente di particolare, ma sono scaramantico e nn presento mai i miei codici prima che siano quantomeno decenti. Sai che figuraccia se poi nn li porto a termine (cosa che avviene alquanto sistematicamente )

    Si tratta di un Framework in PHP5/OOP. Probabilmente assolutamente inutile, ma lo sto programmando a scopo esclusivamente didattico

    ecco perche' mi cimento su problemi e soluzioni esotiche e innovative (o stupide, dipende da come gira la fortuna )
    Gabriele B. - http://9thcircle.it

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.