SQL Injection (Injeção de SQL)

SQL Injection é um ataque no qual código malicioso é passado para um servidor SQL, que o executa. O ataque pode resultar em acesso não autorizado a dados confidenciais, ou destruição de dados críticos.

Antes de tentar os métodos a seguir, perceba que isso só deve ser uma preocupação para desenvolvedores PHP e afins. Se você estiver usando um programa de banco de dados orientado (por exemplo, WordPress, Joomla, OsCommerce), então tudo o que precisa fazer é atualizar seus programas para a versão mais recente disponível.

Métodos para previnir SQL Injection

Escapando

Uma forma de evitar as injeções é evitar caracteres perigosos (ou seja, barra invertida, apóstrofo e ponto e vírgula). No PHP, é típico utilizar a técnica de "escaping" na entrada usando a função mysql_real_escape_string antes de enviar a consulta SQL.

Exemplo:

$Uname = mysql_real_escape_string($Uname);
$Pword = mysql_real_escape_string($Pword);
$query = "SELECT * FROM Users where UserName='$Uname' and Password='$Pword'";
mysql_query($query);

Declarações parametrizadas

Uma consulta parametrizada usa espaços reservados para a entrada, e os valores dos parâmetros são fornecidos em tempo de execução.

$params = array($Uname, $Pword);
$sql = 'INSERT INTO Users (UserName, Password) VALUES (?, ?)';
$query = sqlsrv_query($connection, $sql, $params);

Avançado: No PHP versão 5 e superior, existem várias opções para a utilização de declarações com parâmetros, a camada de banco de dados DOP é uma delas. Existem também métodos específicos de fornecedores: por exemplo, o MySQL 4.1 + usado com a extensão mysqli.

  • SQL Injection (Injeção de SQL)
  • 0 Usuários acharam útil
Esta resposta lhe foi útil?

Artigos Relacionados

Como solicitar o certificado SSL?

basta ir em nosso site www.hostingBR.xyz ir na página de certificados ssl e contratar, o...

Abertura de portas

Um computador conectado a uma rede é identificado por um endereço IP. Qualquer serviço...

Adicionar o Selo de Segurança do SiteLock ( Trust Seal )

O que é o Selo de Segurança Trust Seal SiteLock? O Selo de Segurança sinaliza para os...

Ataque de força bruta

Um ataque de força bruta é detectado quando alguém tenta repetidamente (e falha) para acessar um...

Como bloqueio o acesso de determinado IP ou Domínio ao meu site?

Como bloquear acesso de um IP ou Domínio ao meu Site? Como faço para negar o acesso de endereços...