Ocultar las credenciales de la base de datos remota en la aplicación

2

Si estoy creando una aplicación que se conecta a una base de datos remota, ¿dónde debería ocultar las credenciales?

He visto muchos sugerir que pasas por una aplicación web y usas solicitudes POST y GET para comunicarte con la base de datos a través de la aplicación web. Ahora el sitio web debería tener algún tipo de contraseña. ¿Dónde escondo estas credenciales en mi solicitud?

    
pregunta Oskar Persson 11.01.2015 - 23:21
fuente

1 respuesta

3

No intentas esconderlos. Cualquier persona con acceso a la solicitud e incentivo suficiente podrá encontrar las credenciales.

Entonces, ¿qué haces en su lugar? Todo depende de lo que estés tratando de restringir. Si es una aplicación para que cualquiera la descargue y use, es posible que no necesite ninguna credencial. Un paso adelante sería generar y almacenar un token de seguridad después de que el usuario final ingrese los datos necesarios (es decir, los registros). O puede hacer que el usuario final ingrese las credenciales que se les han asignado (por ejemplo, un nombre de usuario y una contraseña). El punto es que cada usuario / dispositivo obtiene un identificador único que puede ser revocado si es necesario y si el usuario lo encuentra, no les da acceso a nada más allá de lo que ya tienen acceso a través de la aplicación.

La razón por la que se sugieren POST y GET es menos acerca del proceso de autenticación y más acerca de limitar y controlar qué es lo que puede hacer la aplicación. Con una interfaz REST (o similar) puede programar varias validaciones de los datos provenientes de la aplicación y puede hacerlo en una pieza de hardware (el servidor) donde tiene el control total. Usar una interfaz como esa también significa que no tiene que abrir el acceso completo a la base de datos, ya que solo programaría las funciones que realmente necesita su aplicación.

    
respondido por el matthew 12.01.2015 - 00:11
fuente

Lea otras preguntas en las etiquetas