|
Ferramenta
utilizada: Visual Studio.NET 2008
Linguagem:
C#.NET
Framework: 3.5
.NET
Funciona em
qualquer versão do framework: SIM
|

Referência: 1.0
Olá pessoal, o objetivo desse pequeno
artigo é mostrar como é importante as informações que existem junto ao arquivo
de configuração chamado web.config do seu sistema.
Nos softwares que desenvolvemos junto a
ferramenta Visual Studio.NET tem nos ajudado a ser mais informatizado a cada
dia, porém precisamos oferecer aos nossos clientes ou ao nosso próprio software,
a segurança devida.
Segurança no software, quanto nos
arquivos que existem dentro do servidor, pense comigo: “Imagine que no seu software possui uma segurança legal, criptografia ao
entrar com usuário e senha, HTTPS, SSL, Contra Scriptled e muito mais. Só que, se
um hacker, cracker ou lammer entrar em seu servidor, ou seja, invadir o servidor
onde hospeda seu site/sistema, acesso aos seus arquivos será transparente,
inclusive o arquivo de configuração. Automaticamente, o usuário mal
intencionado poderá acessar o seu banco de dados, com usuário e senha”.
Concorda comigo que isso é muito
perigoso? Mesmo que o usuário tenha apenas leitura no banco de dados, poderá
ver os seus dados e dados de seus clientes. Para resolver este problema, acabei
configurando e criptografando a conexão com o banco de dados dentro do web.config.
Mesmo que alguém entre no servidor e no arquivo de configuração, não conseguirá
pegar as informações.
No momento da conexão, já no código
fonte do programa; eu retiro a criptografia online, ou seja, sem mudar o
arquivo .cofing; conecto e faço o que for necessário no banco e com segurança.
Caso a sua conexão esteja em SSL ou
HTTPS, melhor ainda.
|
<add key="ConnectionString" value="RGF0YSBTb3VyY2U9MjA3LjI232FzcG5ldGk7VXNlciBJRD1hc3BuZXRpO=="/>
|
Referência: 1.1
Note que o valor
da minha conexão na referência 1.1 é toda misturada; letras, números e
comandos.
É
lógico que fiz um programa que criptografa os dados e descriptografa, isso é importante,
pois caso necessite alterar a conexão, basta alterar e criptografar novamente.
Fique atento em relação a isso, a
segurança de seus dados no banco de dados é importantíssimo. Ainda mais que, não
temos controle sobre quem acesso o servidor que estamos hospedando nosso site
ou sistema.
Antes de abrir a conexão com o banco
para fazer uma pesquisa eu descriptografo os dados online, ou seja, não mudo o
arquivo de configuração; é dinâmico a alteração dos dados.
Para pegar a conexão basta fazer:
|
System.Configuration.ConfigurationManager.AppSettings[“ConnectionString”]
|
Referência: 1.2
Bom, espero ter
ajudado e despertado você para algo importante.
Qualquer dúvida,
favor entrar em contato.
Mauricio Junior
www.mauriciojunior.org
blog.mauriciojunior.org