Sto pensando a un sito web in cui un utente si iscrive, ha il proprio proprio database in esecuzione da qualche parte, quindi fornisce le credenziali al sito Web in modo che il sito Web possa accedere a quel database. Ad esempio, se fossi l'utente, potrei essere in esecuzione MySQL su un piano di hosting condiviso da qualche parte - Voglio unirmi a questo sito Web e autorizzare questo sito Web a interrogare il mio database.
Sto cercando consigli sui problemi di sicurezza che dovrei prendere in considerazione (come lo sviluppatore del sito web, ma anche i problemi che l'utente finale dovrebbe prendere in considerazione).
Penso che la sicurezza del sito Web con https sia obbligatoria, ma come dovrebbero essere archiviate le credenziali del db? In chiaro, nel db del sito web? Come dovrebbe il sito Web stabilire una connessione con il db dell'utente? ODBC sarebbe sufficiente per la maggior parte dei DBMS? Se il sito Web fosse codificato, ad esempio, in PHP, le funzioni di connessione al database nativo di PHP sarebbero più sicure o migliori per qualsiasi altro motivo? L'utente ha la necessità di autorizzare (all'interno del proprio DB) la connessione come proveniente dallo specifico indirizzo IP del sito web? ecc.
Mi rendo conto che questa non è una semplice domanda di programmazione con una risposta in bianco e nero, ma spero di ricevere un elenco di considerazioni da indagare, o forse collegamenti ad articoli che discutono di questi problemi.
Grazie in anticipo.