Quali informazioni dovrebbe registrare un log degli errori?

11

Voglio popolare il mio registro degli errori con informazioni utili se e quando si verificano errori. Mi piacerebbe utilizzare il log per essere in grado di individuare e correggere i bug sul mio sito, ma anche per potenzialmente registrare i tentativi di hacking. Per un'applicazione web PHP, quali informazioni sono considerate vitali e perché? Quali informazioni possono essere utili? Cos'è l'overkill?

La mia lista corrente è:

  • Il tipo di errore.
  • Il messaggio di errore corrispondente.
  • L'URL in cui si è verificato l'errore.
  • Un timestamp.
  • L'IP dell'utente e l'utente agente.
  • L'URL di riferimento.
posta VirtuosiMedia 15.11.2010 - 12:18
fonte

4 risposte

4

Di solito l'importo che si registra dipende dal tipo di errore. Più è critico più accedi.

Riguardo ad altre cose che vorresti registrare

  • Nome file per il file che ha causato l'errore sarebbe in cima alla lista, con il numero di riga.
  • Informazioni di traccia dello stack se l'errore è il risultato di un'eccezione generata.

Non penso che tu possa sovrascrivere l'importo che registri quando si verifica un errore finché è utile. L'unica volta in cui ho visto i registri diventare davvero pessimi è quando vengono eseguiti enormi registri anche quando non si verifica un errore.

È possibile trovare ulteriori informazioni sul sito Web OWASP - Gestione degli errori e registrazione .

    
risposta data 15.11.2010 - 12:30
fonte
3

Sto utilizzando Schermata di protezione .

Prima di tutto : l'applicazione registra tutte le informazioni di cui ho bisogno (come sviluppatore) nel database, file ...

Secondo : l'applicazione restituisce un messaggio che non contiene informazioni interne riservate al client.

Informazioni private (schermate) che l'applicazione può raccogliere:

  • variabili di ambiente client (url, ip, lingua ...)
  • luogo (i) di errori: stack
  • le mie variabili di business (gestione degli errori personalizzata)

Ho deciso di separare eccezioni non gestite e gestione personalizzata e io disporre di modelli di registrazione per ogni tipo di eccezione

    
risposta data 15.11.2010 - 16:07
fonte
1

Mark e igor hanno buoni suggerimenti. Vorrei anche consigliare di leggere su OWASP sulla gestione degli errori e la registrazione.

Un'altra cosa, qualunque cosa tu abbiate, assicuratevi di disinfettare le informazioni registrate che provengono dall'utente, come il referrer url, le variabili get / post, i nomi utente, ecc. In altre parole tutto ciò che può essere manipolato dall'utente remoto. Probabilmente non vuoi più registrare un nome utente lungo 100.000 caratteri.

    
risposta data 15.11.2010 - 16:43
fonte
1

Oltre a quanto menzionato, proverei a includere i valori POST ($ _POST) e i dati cookie / sessione, se disponibili.

    
risposta data 15.11.2010 - 17:41
fonte

Leggi altre domande sui tag