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 aplic
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'