Ver Mensaje Individual
  #1 (permalink)  
Antiguo 27-May-2010, 10:16
JehrDa
Guest
 
Mensajes: n/a
Predeterminado Encriptar Cadena de Conexión C#

Hola a todos, éste es la primera parte de este tema, de cómo mantener segura nuestra cadena de conexión, y asi evitar accesos de terceros a nuestra base de datos, lo cual sería muy peligroso para cualquier caso, ya que se podrían modificar o eliminar infromación importante.

1º Ubicación de la cadena de conexión

La pregunta es ¿Dónde pongo la cadena de conexión a mi base de datos?

Bueno seguramente muchos lo ponen en el código mismo, directamente o en una clase aparte, todo esta bien, y de hecho funciona correctamente, pero por motivos de seguridad no sería muy recomendable hacerlo, ¿Porqué?, una vez compilado tu aplicación y generados los archivos dlls es posible desensamblar estos y ver el código que está oculto dentro, este tema lo trataremos en otro hilo, por ahora nos interesa la seguridad de nuestra cadena de conexión.

Para nuestro caso lo recomendable sería colocar la cadena en un archivo XML aparte, si la aplicación es de escritorio en el App.config (Application Configuration File), y si es web en el Web.config, ambos archivos podemos generarlos haciendo click derecho sobre el proyecto, add new Application Configuration File, cuyo nombre por defecto es App.config

Vemos que se agrega un archivo asi:

Código PHP:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
</configuration>
Bien ahora ponemos nuestra cadena de conexión aquí , iniciamos una etiqueta de nombre <connectionStrings>
Código PHP:
<connectionStrings>
<
add name="Conexion"
connectionString="data source = SQLServer; initial catalog = TuBasedeDatos; persist security info = True; Integrated Security = False; user id = 'usuario';password='contraseña';packet size= 4096; Pooling=true; Max Pool Size=10;" />
</
connectionStrings
Listo, y ahora como recuperamos esta cadena para usarla en el código?

Desde la aplicación tenemos que usar la libreria:

using System.Configuration;

y para recuperar desde el archivo App.config, por ejemplo en un string

String cadenaConexion = ConfigurationManager.ConnectionStrings["Conexion"].ConnectionString;

Y Tenemos nuestra cadena de conexión lista para usarla...
Responder Citando