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

11

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

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 y el usuario del usuario agente.
  • La URL de referencia.
pregunta VirtuosiMedia 15.11.2010 - 12:18
fuente

4 respuestas

4

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

En lo que respecta a otras cosas que desea 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 rastreo si el error fue el resultado de una excepción lanzada.

No creo que pueda exagerar la cantidad que registra cuando se produce un error mientras 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 OWASP - Manejo y registro de errores .

    
respondido por el Mark Davidson 15.11.2010 - 12:30
fuente
3

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

Primero que todo : 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 confidencial para el 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 personalizado de errores)

He decidido separar excepciones no manejadas y manejo personalizado y yo tener plantillas de registro para cada tipo de excepciones

    
respondido por el garik 15.11.2010 - 16:07
fuente
1

Mark y igor tienen buenas sugerencias. También recomendaría leer sobre OWASP sobre el manejo de errores y el registro.

Una cosa más, independientemente de lo que registre, asegúrese de desinfectar la información registrada que proviene del usuario, como url referrer, obtener / post variables, nombres de usuario, etc. En otras palabras, cualquier cosa que pueda ser manipulada por el usuario remoto. Probablemente no quieras terminar de registrar un nombre de usuario que tenga 100,000 caracteres de longitud.

    
respondido por el Alexandru Luchian 15.11.2010 - 16:43
fuente
1

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

    
respondido por el Olivier Lalonde 15.11.2010 - 17:41
fuente

Lea otras preguntas en las etiquetas