Nascondere le credenziali del database remoto nell'applicazione

2

Se sto creando un'applicazione che si connette a un database remoto, dove dovrei nascondere le credenziali?

Ho visto molti suggerire di passare attraverso un'applicazione web e utilizzare le richieste POST e GET per comunicare con il database tramite l'app web. Ora il sito dovrebbe avere una sorta di password. Dove nascondo queste credenziali nella mia applicazione?

    
posta Oskar Persson 11.01.2015 - 23:21
fonte

1 risposta

3

Non provi a nasconderli. Chiunque abbia accesso all'applicazione e incentivi sufficienti sarà in grado di trovare le credenziali.

Quindi cosa fai invece? Tutto dipende da cosa stai cercando di limitare. Se si tratta di un'app che chiunque può scaricare e utilizzare, potrebbe non essere necessario disporre di credenziali. Un passo avanti sarebbe quello di generare e memorizzare un token di sicurezza dopo che l'utente finale ha inserito tutti i dati richiesti (es. Registri). Oppure è possibile che l'utente finale inserisca le credenziali che sono state loro assegnate (ad esempio un nome utente e una password). Il punto è che ogni utente / dispositivo ottiene un identificatore univoco che può essere revocato se necessario e se viene trovato dall'utente non gli dà accesso a nulla oltre a ciò a cui hanno già accesso tramite l'app.

Il motivo che usa POST e GET è suggerito è meno sul processo di autenticazione e più su come limitare e controllare cosa può fare l'app. Con un'interfaccia REST (o simile) puoi programmare varie convalide dei dati provenienti dall'app e puoi farlo su un pezzo di hardware (il server) in cui hai il pieno controllo. L'utilizzo di un'interfaccia del genere significa anche che non è necessario aprire l'accesso completo al database in quanto si programmerebbero solo le funzioni effettivamente necessarie per l'applicazione.

    
risposta data 12.01.2015 - 00:11
fonte

Leggi altre domande sui tag