Olá pessoal, gostaria de tirar algumas duvidas… o “Sql injection” só funciona para quem não usa o PreparedStatment… e quem não usa, por exemplo quem usa Hibernate, a melhor forma seria utilizando Criteria? No PHP tenho uma proteção extra contra isso automatico…
e o HQL é seguro contra Sql Injection? nos meus testes não passou…
romarcio
Com criteria com certeza não terás problema.
Se usar HQL, use setParameter(), que evita com certeza.
Stringnome=//inputdousuáriosession.createQuery("from Produto where nome = :nome").setParameter("nome",nome)....
dtxk
romarcio:
Com criteria com certeza não terás problema.
Se usar HQL, use setParameter(), que evita com certeza.
Stringnome=//inputdousuáriosession.createQuery("from Produto where nome = :nome").setParameter("nome",nome)....
Olá romarcio, funcionou bem... obrigado.
drsmachado
SQL Injection, invariavelmente, será permitido se o programa omitir requisitos mínimos de segurança.
Há várias formas de validar.
No PHP, como você citou, há os métodos que fazem a análise da query.
Mesmo usando Statement é possível analisar a query e eliminar as ‘coisas’ erradas.
Aliás, assim como ASP permite cross scripting e injeção de código, caso não haja a correta tratativa, java, PHP, Ruby ou qualquer linguagem será vulnerável à proporção do descaso com a segurança.