1
resposta

Injeçao de sql x' or 'a'='a no Microsoft SQL SERVER

Qual seria o código utilizado para evitar a Injeção de sql( x' or 'a'='a) no Microsoft SQL SERVER descrita em aula.

1 resposta

Fala Fabio, tudo certo?

O código Java seguro é mostrado na aula abaixo: https://cursos.alura.com.br/course/seguranca-web-em-java-parte-1/task/31446

@Repository
public class UsuarioDaoImpl implements UsuarioDao {

    @PersistenceContext
    private EntityManager manager;

    public void salva(Usuario usuario) {
        manager.persistence(usuario);
    }

    public Usuario procuraUsuario(Usuario usuario) {
       TypedQuery<Usuario> usuario = manager
            .createQuery("select u from Usuario u where u.email=:email and u.senha=:senha", Usuario.class);
        query.setParameter("email", usuario.getEmail());
        query.setParameter("senha", usuario.getSenha());

        Usuario usuarioRetornado = query.getResultList().stream().findFirst().orElse(null);
        return usuarioRetornado;
    }
}