Creé una aplicación en C# + WPF + MySQL. ¿Cuál es la mejor (más segura) forma de almacenar las cadenas de conexión de la base de datos?¿Dónde debería almacenar una cadena de conexión de base de datos?
Respuesta
Puede store connections strings in the configuration file. Puede asegurarlos si es necesario.
si agrego una cadena de conexión a app.config - ¿esta es mi cadena de conexión segura? – Mediator
Cualquier persona que tenga acceso a este app.config puede leer la cadena de conexión que podría contener información confidencial como contraseñas. Puede encriptar esta sección para aumentar la seguridad. –
¿Acceso a través del proyecto? o undebagom? cómo encriptar? – Mediator
Alternativamente - el registro. El único lugar donde NO los almacena es el archivo app.config (whatever.exe.config), ya que solo existe UNA VEZ y la carpeta de programas no es algo que los usuarios puedan cambiar. La configuración por usuario nunca debería estar allí.
Puede usar el visual studio settings/propiedades que están disponibles al usar visual studio. Son bastante simples de usar, y si utiliza una configuración de usuario, se guarda en el directorio de datos de la aplicación para el usuario, por lo que está semi-escondida lejos de retoques. Entonces, todo lo que tendrías que hacer es alguna forma de cifrado para bloquearlo por completo si así lo deseas.
Creo que lo mejor de la configuración del estudio visual es la facilidad de uso.
Guárdelo en su archivo App.config y siempre encriptelo. This link le mostrará cómo cifrar partes de su archivo de configuración.
Bueno, siempre sigo una práctica. Cada vez que hago algo en SL o WPF, siempre pongo la capa de servicio entre SL/WPF y la base de datos.
Si la aplicación se está ejecutando en un servidor, recomendaría el archivo machine.config y lo cifraría en la misma ubicación que Fernando recomendó. Si la aplicación se va a distribuir, entonces app.config es donde los almacenaría.
- 1. ¿Dónde debería almacenar variables sensibles?
- 2. ¿Dónde almacena su conexión de base de datos?
- 3. Cómo obtener la conexión Cadena de una base de datos
- 4. Dónde almacenar la cadena de conexión para ASP clásico?
- 5. ¿Dónde debería una aplicación web Java almacenar sus datos?
- 6. ¿Cuál es la mejor manera de asegurar una cadena de conexión de base de datos?
- 7. Cadena de conexión de base de datos Información
- 8. cadena de conexión para servidor de base de datos remota
- 9. ¿Es bueno almacenar cadenas largas en una base de datos?
- 10. conexión tiene una base de datos remota
- 11. ¿Dónde almacenar datos en iphone?
- 12. ¿Dónde almacenar una cadena de conexión utilizada por muchas aplicaciones en la misma máquina?
- 13. libros de almacenar en una base de datos
- 14. ¿Cómo se define una cadena de conexión a una base de datos de SQL Server 2008?
- 15. ¿Dónde almacenar las credenciales de la base de datos en una aplicación web?
- 16. ¿Dónde almacena contraseñas de base de datos?
- 17. dónde cambiar la configuración de conexión de la base de datos en Orchard MVC CMS
- 18. ¿Dónde debería definir mis plantillas de datos?
- 19. Conexión de base de datos heterogénea
- 20. Almacenar datos en Ruby on Rails sin base de datos
- 21. ¿Dónde están las diferencias usando la base de datos XML y MySQL? ¿Qué debería usar?
- 22. ¿Cuál es la mejor práctica para almacenar detalles de conexión de base de datos en .NET?
- 23. Forma estándar de almacenar nombres en una base de datos
- 24. base de datos de Contabilidad - almacenar una transacción
- 25. ¿Cómo almacenar una base de datos dentro de un Arduino?
- 26. Almacenar una estructura de directorio en la base de datos
- 27. ¿Dónde debería comenzar con las bases de datos de aprendizaje?
- 28. ¿Tiene algún inconveniente para almacenar un número entero como una cadena en una base de datos?
- 29. ¿Cuándo debería usar una base de datos de objetos?
- 30. ¿Debería una tabla de base de datos tener valores predeterminados?
¿Necesita ser seguro? Si su servicio se está ejecutando en su servidor, ¿por qué desea asegurar la cadena de conexión? (Supongo que lo almacenaste en la configuración de la aplicación) –
¿Cómo se implementa la aplicación? ¿Cada usuario tendrá una cadena de conexión diferente o hay una cadena de conexión para todos? –