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
Atenção: Use com critério. Esta ferramenta lhe permite impedir que seus usuários, com acesso à...
Este artigo aborda alguns comandos úteis do ConfigServer Firewall (CSF) SSH ....
Vocês oferecem Proteção DDoS? TODOS OS PLANOS DE JOGOS OU HOSPEDAGEM DE SITES OU TEAMSPEAK TEM...
m geral a regra é criar senhas que sejam fáceis de lembrar, mas difícil de adivinhar.Pessoas...
1. Observe atentamente nossas políticas de e-mail. Uma conta de hospedagem ou revenda não pode...