Base de Conhecimento

SQL Injection (Injeção de SQL)  Imprimir este Artigo

SQL Injection é um ataque onde o código malicioso é passado para um servidor SQL paraexecução. O ataque pode resultar em acesso não autorizado a dados confidenciais, ou destruição de dados críticos.
Antes de tentar ler os métodos a seguir, perceba que isso só deve ser uma preocupação para os desenvolvedores PHP e afins. Se você estiverusando um programa de banco de dados orientado (por exemplo, WordPress, Joomla, OsCommerce), então tudo que vocêprecisa fazer é atualizarseus 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:

1 $Uname = mysql_real_escape_string($Uname);<br>$Pword = mysql_real_escape_string($Pword);<br>$query = "SELECT * FROM Users where UserName='$Uname' and Password='$Pword'";<br>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.

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

 

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

Esta resposta lhe foi útil?

Veja também

O que acontece se alguém abusar dos recursos do servidor?
O site infrator será suspenso e o proprietário terá oportunidade de corrigir o problema oumudar...
Protegendo Diretórios com Senha
  Para proteger com senha um diretório:Nota: Neste momento, cPanel só pode proteger diretórios,...
Como lidar com uma página marcada como foco de ataques pelo Google?
Quando você vê o temido alerta do Google que sua página foi bloqueada por conter focos de...
8 passos para evitar que sua conta seja suspensa
1. Observe atentamente nossas políticas de e-mail. Uma conta de hospedagem ou revenda não pode...
Que medidas de segurança são adotadas para proteger meu servidor?
Estamos protegidos contra hackers e ataques DOS (Denial of Service) e DDoS (Distributed Denial of...