2010-11-14 10 views
7

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?

+0

¿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) –

+0

¿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? –

Respuesta

5

Puede store connections strings in the configuration file. Puede asegurarlos si es necesario.

+0

si agrego una cadena de conexión a app.config - ¿esta es mi cadena de conexión segura? – Mediator

+0

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. –

+0

¿Acceso a través del proyecto? o undebagom? cómo encriptar? – Mediator

2

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í.

0

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.

5

Guárdelo en su archivo App.config y siempre encriptelo. This link le mostrará cómo cifrar partes de su archivo de configuración.

0

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.

1

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.

Cuestiones relacionadas