Sobes.tech
Junior — Middle

Que tipos de consultas considera mais seguras e por quê?

sobes.tech IA

Resposta da IA

As mais seguras são as consultas parametrizadas (prepared) e as consultas ORM, que escapam automaticamente os dados de entrada.

A razão é que evitam injeções SQL — quando um atacante insere código SQL malicioso através da entrada do utilizador.

Exemplo:

  • Em uma consulta parametrizada, os parâmetros são passados separadamente do código SQL, o que exclui a possibilidade de alterar a estrutura da consulta.

  • Ao contrário da concatenação de strings, onde a entrada do utilizador é inserida diretamente na consulta.

Por exemplo, em Java com JDBC:

String sql = "SELECT * FROM users WHERE username = ?";
PreparedStatement ps = connection.prepareStatement(sql);
ps.setString(1, userInput);
ResultSet rs = ps.executeQuery();

Este método é mais seguro do que:

String sql = "SELECT * FROM users WHERE username = '" + userInput + "'";
Statement stmt = connection.createStatement();
ResultSet rs = stmt.executeQuery(sql);

Por isso, para segurança em testes e desenvolvimento, recomenda-se usar consultas parametrizadas.