Algunas respuestas han señalado que no es una buena práctica mostrar estos errores. Sin embargo, me centraré en tu pregunta: ¿es seguro?
Veamos un ejemplo de mensaje de error. Esta aplicación está escrita en Python y Flask:
Esto nos dice algunas cosas sobre la aplicación: está usando SQLite, la aplicación está en c:\jobs\token\
, hay una tabla data
y algunas otras cosas.
No hay datos de usuario aquí. No revela el saldo de la cuenta de otra persona, los mensajes privados, nada de eso. Si bien es posible que un mensaje de error lo revele, en la práctica es raro.
Entonces, ¿qué tan confidenciales son los detalles de la aplicación? La principal preocupación aquí es hacer la vida más fácil para un atacante. Ciertas vulnerabilidades, como el recorrido de la ruta y la inyección de SQL, son más fáciles de explotar con un poco de fuga de información en los mensajes de error. Sin embargo, aún son explotables sin la fuga de información, es un trabajo más difícil. La restricción de los mensajes de error no detiene estos ataques. Sólo hace que la explotación sea un poco más difícil. El cambio es tan pequeño que ni siquiera lo considero cuando estoy evaluando el riesgo de una vulnerabilidad como la inyección SQL.
Entonces, la respuesta a tu pregunta es sí, es segura . No es la mejor práctica, pero de ninguna manera es particularmente insegura.