Pedi ajuda à alguns colegas do fórum, pesquisei mas ainda não estou confortável neste quesito com Java Desktop.
Seguinte: Para conectar ao BD podemos inserir os dados (URL, Usuário e Senha) em uma classe ou em um XML…
O que está incomodando é que é muito fácil pegar a o usuário e a senha descompactando o .jar… Fiz um teste com um .jar com ProGuard 2.01 de um software muito utilizado e de mercado e abri tudo sem a menor dificuldade. A única informação que não peguei, pq não fiquei xeretando foi o IP e não é minha intenção, por isso nem vou citar qual o software.
a) É aconselhável que o usuário usado para a conexão com o banco não tenha poderes de administrador ou supervisor no banco de dados (ou seja, não possa dropar tabelas ou coisas mais perigosas).
b) Você pode tentar proteger esses dados com uma senha (procure no fórum por uma classe que escrevi que serve para esconder senhas:
Obviamente ela só serve para esconder a senha, já que qualquer gajo que possa descompilar o programa e saiba um pouco de criptografia pode descriptografar a senha. Mas já ajuda um pouco.
UpTheIrons
Então,
Tb já me perguntei como fazer isso com Java, essa questão em .net é mais tranquila, mas
tudo bem, estamos no Java e tem q ser resolvido!
Eu sou iniciante e vi q usando o arquivo Persistence.xml, as senha do banco fica muito vunerável,
há alguma maneira desse arquivo n conter a senha, ou seja, ter todas as informações, mas a senha
ser somente passada na autenticação do usuário por ex?
Grato,
Lucas1
UpTheIrons:
Então,
Tb já me perguntei como fazer isso com Java, essa questão em .net é mais tranquila, mas
tudo bem, estamos no Java e tem q ser resolvido!
Eu sou iniciante e vi q usando o arquivo Persistence.xml, as senha do banco fica muito vunerável,
há alguma maneira desse arquivo n conter a senha, ou seja, ter todas as informações, mas a senha
ser somente passada na autenticação do usuário por ex?
Grato,
UpTheIrons não conheço de .net mas só por curiosidade você poderia explicar como é mais tranquila essa questão no .net ?
Além de maior segurança neste assunto o .net também compila os fontes se a possibilidade de reversão ?
UpTheIrons
Então,
Esse problema de reversão, ambos (java e .net) não estão totalmente livres.
Me referi q é mais tranquilo com .net pq ele já vem com classes prontas para criptografar
o arquivo Config.xml, onde vc tem informações sobre a conexão, mas tb é fácil fazer
com q somente a senha fique em código e n em arquivo xml, e se for usar Serviços com
o WCF, fica mais interessante, já q o arquivo de conexão pode ficar em um único lugar,
acho q com EJB funciona mais ou menos assim, tb sou iniciante em java, ainda apanho
muito, mas um dia chego lá.
Mas vc está desenvolvendo algo em Java ou .Net?
Falew.
Lucas1
Estou trabalhando em um projeto desktop mas alguns relatórios serão acessados na web. Então comecei a estruturar o projeto para fazer em java, mas quando me deparei com isso comecei a procurar soluções, pq o cliente exige que o fonte seja totalmente seguro :? Até porque ele conhece os funcionários dele e sabe que tem alguns expertinhos que ficam fuçando e talsss