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...
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...
Ataque de força bruta
Um ataque de força bruta é detectado quando alguém tenta repetidamente (e falha) para acessar um...
[Tutorial Completo] Segurança De Seu Dedicado/vps
Caros amigos, eu preparei um tutorial completo (pelo menos a intenção é que seja) sobre...