Evitar SQL Injection

4 respostas
ATEN

Oi, pessoal,
Estou utilizando uma aplicação com jpa2.0 e hibernate, gostaria de saber se alguém sabe como se previnir de sql injection com essa configuração?
sei que com jdbc puro vc pode utilizar o PreparedStatement que ele faz o escape, mas em jpa e hibernate como fica isso???

[]s

4 Respostas

romarcio

Com o Hibernate não é possível fazer SQL Injection, fique tranquilo.

drsmachado

ATEN:
Oi, pessoal,
Estou utilizando uma aplicação com jpa2.0 e hibernate, gostaria de saber se alguém sabe como se previnir de sql injection com essa configuração?
sei que com jdbc puro vc pode utilizar o PreparedStatement que ele faz o escape, mas em jpa e hibernate como fica isso???

[]s


O hibernate utiliza PreparedStatement (ou algo muito parecido). Basta ver as saídas de SQL geradas por ele.

M

Mesmo não sendo possível sql injection com o hibernate, não seria melhor você tratar a entrada?
Procure no google por REGEX prontos que provavelmente vai ajudar.

ATEN

Maiconfz, sim tratar todos os inputText é essencial tb, mas não sei se só isso iria resolver, por exemplo, no campo senha o usuario pode colocar o que quiser, qualquer caracter, salvo se vc decidir em sua aplicação que determinados caracteres e combinações não são possíveis.

Bom saber que o hibernate protege contra esse tipo de ataque.
Quando fazemos uma requisição ao servidor por get, passamos na url o valor que estamos buscando.
Teria como criptografar esse dados na url

exemplo:

www.site.com.br/index?valor=1

// Para algo do tipo

www.site.com.br/index?XXXXXXX
Criado 21 de maio de 2012
Ultima resposta 21 de mai. de 2012
Respostas 4
Participantes 4