In passato, mi è stato insegnato che lo schema del database è fondamentale e non deve essere esposto in alcun modo in modo che gli utenti non possano iniettare il sistema e rubare qualcosa da esso. Tuttavia, la maggior parte dei casi che ho sentito riguardano le funzioni di accesso che un hacker prova ad agire come un altro utente, per ottenere il suo privilegio sul sistema. Non sono sicuro che la situazione rimanga la stessa quando il database di back-end cambia in NoSQL.
Se lo schema è ancora cruciale e dovrebbe rimanere segreto, dovremmo usare sempre chiavi diverse tra risposta API e database? Ad esempio, product_name
e db_prod_name
. E dovremmo sempre rendere la struttura diversa tra risposta API e database NoSQL? Cosa succede se restituiamo direttamente il record JSON dal database NoSQL all'API?
L'argomento Va bene rivelare i nomi delle tabelle del database? dovrebbe essere diverso per me dato che la mia domanda riguarda il database NoSQL , come AWS DynamoDB e MongoDB. Suppongo che la strategia di difesa possa essere diversa a causa delle caratteristiche tra SQL e NoSQL diverse.