it-swarm-es.com

¿Qué información debe registrar un registro de errores?

Quiero completar mi registro de errores con información útil cuando ocurran errores. Me gustaría usar el registro para poder detectar y corregir errores en mi sitio, pero también para registrar intentos de piratería. Para una aplicación web PHP), ¿qué información se considera vital y por qué? ¿Qué información puede ser útil? ¿Qué es una exageración?

Mi lista actual es:

  • El tipo de error.
  • El mensaje de error correspondiente.
  • La URL donde ocurrió el error.
  • Una marca de tiempo.
  • La IP del usuario y el agente de usuario.
  • La URL de referencia.
10
VirtuosiMedia

Por lo general, la cantidad que registra depende del tipo de error. Cuanto más crítico, más registro.

Con respecto a otras cosas que le gustaría registrar

  • El nombre de archivo para el archivo que causó el error estaría arriba en la lista, con el número de línea.
  • Apile la información de seguimiento si el error fue el resultado de una excepción.

No creo que puedas sobrepasar la cantidad que registras cuando ocurre un error siempre que sea útil. La única vez que he visto que los registros se vuelven realmente malos es cuando se toman registros masivos, incluso cuando no se produce un error.

Puede encontrar más información en sitio web de OWASP - Manejo y registro de errores .

4
Mark Davidson

Estoy usando protección de excepción patrón.

En primer lugar : la aplicación registra toda la información que necesito (como desarrollador) en la base de datos, archivo ...

Segundo : la aplicación devuelve un mensaje que no contiene información interna sensible al cliente.

Información privada (protegida) que la aplicación puede recopilar:

  • variables de entorno del cliente (url, ip, idioma ...)
  • lugar de error (s): pila
  • mis variables comerciales (manejo de errores personalizado)

He decidido separar excepciones no controladas y manejo personalizado unos y tengo plantillas de registro para cada tipo de excepciones

3
garik

Mark e Igor tienen buenas sugerencias. También recomendaría leer en OWASP sobre manejo y registro de errores.

Una cosa más, sea lo que sea lo que registre, asegúrese de desinfectar la información registrada que proviene del usuario, como URL de referencia, variables get/post, nombres de usuario, etc. En otras palabras, cualquier cosa que pueda ser manipulada por el usuario remoto. Probablemente no quieras terminar registrando un nombre de usuario que tiene 100,000 caracteres.

1
Alexandru Luchian

Además de lo que mencionó, trataría de incluir POST valores ($ _POST) y datos de cookies/sesión si están disponibles.

1
Olivier Lalonde