En el pasado, me enseñaron que el esquema de la base de datos es crucial y no debería exponerse de ninguna manera para que los usuarios no puedan inyectar el sistema y robarle algo. Sin embargo, la mayoría de los casos que he escuchado se refieren a funciones de inicio de sesión que un pirata informático intenta actuar como otro usuario para obtener su privilegio en el sistema. No estoy seguro de si la situación sigue siendo la misma cuando la base de datos backend cambia a NoSQL.
Si el esquema sigue siendo crucial y debería mantenerse en secreto, ¿deberíamos usar siempre claves diferentes entre la respuesta de la API y la base de datos? Por ejemplo, product_name
y db_prod_name
. ¿Y deberíamos hacer siempre la estructura diferente entre la respuesta de la API y la base de datos NoSQL? ¿Qué pasará si devolvemos directamente el registro JSON de la base de datos NoSQL a la API?
El tema ¿Está bien revelar los nombres de las tablas de la base de datos? debería ser diferente para mí ya que mi pregunta es sobre la base de datos NoSQL , como AWS DynamoDB y MongoDB. Supongo que la estrategia de defensa puede ser diferente debido a que las características entre SQL y NoSQL son diferentes.