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
Caros amigos, eu preparei um tutorial completo (pelo menos a intenção é que seja) sobre...
Para bloquear um endereço IP individual de acessar o seu servidor Linux, você pode usar o...
Vocês oferecem Proteção DDoS? TODOS OS PLANOS DE JOGOS OU HOSPEDAGEM DE SITES OU TEAMSPEAK TEM...
Aviso Modificando as regras em seu servidor pode fazer com que o servidor fique inacessível na...
Para proteger com senha um diretório:Nota: Neste momento, cPanel só pode proteger diretórios,...