Escuché que exponer las ID de la base de datos (en URL, por ejemplo) es un riesgo de seguridad, pero tengo problemas para entender por qué.
¿Alguna opinión o enlace sobre por qué es un riesgo o por qué no lo es?
EDITAR: por supuesto, el acceso tiene un alcance, por ejemplo, si no puede ver el recurso foo?id=123
, obtendrá una página de error. De lo contrario, la URL en sí misma debería ser secreta.
EDITAR: si la URL es secreta, probablemente contendrá un token generado que tiene una vida útil limitada, por ejemplo, válido por 1 hora y solo se puede usar una vez.
EDITAR (meses después): mi práctica preferida actual para esto es usar UUIDS para ID y exponerlos. Si estoy usando números secuenciales (generalmente para el rendimiento en algunas bases de datos) como ID, me gusta generar un token UUID para cada entrada como una clave alternativa, y exponer eso.