photoshop dreamwaever flash ilustrator fireworks fireworks indesigner mysqlworkbench blender chrome firefox safari
parallels vitual box vmware bluej netbeans remote windows guj sqldeveloper astah sped
unipaas abraweb mysql php ulbra lgdesigner mssql plsql
oracle apple Cigam Software Corporativo QI Escola Técnica e Faculdades Flickr Tiago Endres Kochenborger clickPro
Tiago Endres Kochenborger


Bloqueando a utilização do SQL Injection (PHP)


Segurança é uma das questões primordiais em um sistema, principalmente na web, uma das principais ameaças é o SQL Injection devido a ser o mais simples de aplicar.

Utilizo em qualquer parte de Login ou pesquisa, ou seja em qualquer parte que o usuário insira dados que retornam algum resultado. A função addslashes adicionar barras invertidas como escape para alguns caracteres especiais.

Exemplo de bloqueio SQL Injetcion

//busca do valor da variável usuário pelo método get(envia pela url)
$usuario = addslashes($_GET["usuario"]);
//busca do valor da variável senha pelo método post(envia os dados por meio do corpo da mensagem através de um formulário)
$senha = addslashes($_POST["senha"]);

$sql="SELECT * FROM tbusuario where usuario='$usuario' and senha='$senha'";

Vamos supor que nas variáveis usuário e senha contenham o seguinte texto ' or '1'='1, então sem a função o sql ficaria SELECT * FROM tbusuario where usuario='' or '1'='1' and senha='' or '1'='1', desta forma tendo acesso com o primeiro usuário que o banco retornar.

Já com os mesmos valores de variáveis e utilizando a função addslashes o sql ficaria SELECT * FROM tbusuario where usuario='\' or \'1\'=\'1' and senha='\' or \'1\'=\'1'

Insira seu comentário