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

Vocês oferecem Proteção DDoS?
Vocês oferecem Proteção DDoS? TODOS OS PLANOS DE JOGOS OU HOSPEDAGEM DE SITES OU TEAMSPEAK TEM...
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...
Proteção de Hotlink
O que é Hotlink? Como faço para ativar e desativar a Proteção Hotlink?A proteção Hot link...
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...
Bloqueando solicitações de ping
Quando você impede que seu sistema responda à solicitações de ping, isso pode garantir um maior...