Bom, esse post aqui vai ser menor...
Para resolver a falha SQL Injection é MUITO simples...
Voce definiu a variavel $login como $_POST['login'], certo.
Mas agora vamos criar uma função anti_sqli ?
Legal, mas o que fazemos com isso ? Isso :
O que isso faz ? Faz com que os dados passados via post pelo input login sejan tratados pela nossa função..
Mas o que a função faz ?
Aqui nós fizemos um array com os comandos SQL que nao podem ser digitados no login e senha.
Aqui nós usamos a função str_replace(), que substitue alguma coisa por outra coisa em alguma variavel, no caso substituiremos os dados do array por nada, na variavel $sqli.
Na linha de baixo temos a função trim(), que remove os espaços.. Em seguida temos a função strip_tags(), que remove as tags html e javascript.
Em baixo temos o addslashes(), que adiciona uma barra invertida depois de cada aspa. E para completar temos o mysql_real_escape_string(), que é uma função feita especialmente para isso, que não 'interpreta' os comandos SQL passados..
Basicamente é isso, é facil resolver essa falha que tem sido bastante explorada nos ultimos meses..
Tópico feito por Nickguitar.dll, se copiar, deixe os créditos por favor..
Até mais (=
Para resolver a falha SQL Injection é MUITO simples...
Voce definiu a variavel $login como $_POST['login'], certo.
Mas agora vamos criar uma função anti_sqli ?
Código PHP:
function anti_sqli($sqli){
$naopode = array('INSERT', 'insert', 'DROP', 'drop', 'SELECT', 'select', "'", ' or ', ' OR ', '--', 'WHERE', 'where');
$sqli = str_replace($naopode, '', $sqli);
$sqli = trim($sqli);
$sqli = strip_tags($sqli);
$sqli = addslashes($sqli);
$sqli = mysql_real_escape_string($sqli);
return $sqli;
}
Código PHP:
$login = anti_sqli($_POST['login']);
Mas o que a função faz ?
Código PHP:
$naopode = array('INSERT', 'insert', 'DROP', 'drop', 'SELECT', 'select', "'", ' or ', ' OR ', '--', 'WHERE', 'where');
Código PHP:
$sqli = str_replace($naopode, '', $sqli);
$sqli = trim($sqli);
$sqli = strip_tags($sqli);
$sqli = addslashes($sqli);
$sqli = mysql_real_escape_string($sqli);
Na linha de baixo temos a função trim(), que remove os espaços.. Em seguida temos a função strip_tags(), que remove as tags html e javascript.
Em baixo temos o addslashes(), que adiciona uma barra invertida depois de cada aspa. E para completar temos o mysql_real_escape_string(), que é uma função feita especialmente para isso, que não 'interpreta' os comandos SQL passados..
Basicamente é isso, é facil resolver essa falha que tem sido bastante explorada nos ultimos meses..
Tópico feito por Nickguitar.dll, se copiar, deixe os créditos por favor..
Até mais (=
Comment