Sei que em Java tem metodos para tratarmos esse tipo de problema em um comando sql.
username: hi’ or 1=1–
Password: hi’ or 1=1–
em php como poderiamos fazer? existe isso em asp? linguagens desse porte usam oque para se protegerem?
Sei que em Java tem metodos para tratarmos esse tipo de problema em um comando sql.
username: hi’ or 1=1–
Password: hi’ or 1=1–
em php como poderiamos fazer? existe isso em asp? linguagens desse porte usam oque para se protegerem?
Você resgata 1º os dados.
Assim vc impede o Script injetor seja executado.
$usuario = $_POST['usuario'];
$senha = $_POST['senha'];
$sql = "SELECT * FROM usuarios WHERE usuario = '".$usuario."' AND senha = '".$senha."' ";
$processa = mysql_query($sql);
Mais sobre o assunto http://www.zoomdigital.com.br/sql-injection-o-que-e-e-como-evitar/
ok… como poderia ser um furo de segurança para o banco de dados? tipo, alguem consegue escrever um código com um furo só para eu ter um exemplo?
Então,
Imagina o seguinte:
Você digita seu login e senha e na senha vc poem OR ‘1’=‘1’
Então quando você resgata esse dados sem colocar em uma variável usando por exemplo o $_POST[‘senha’] na hora do seu select vai estar assim
SELECT FROM usuarios WHERE user = $_POST['user'] AND senha = '$_POST['senha']'
Para o banco vai ficar assim:
SELECT FROM usuarios WHERE user = admin AND senha = OR '1'='1'
OR = ou
Aqui entrar no seu sistema, mas posso por exemplo dar um DROP em alguma tabela ou no sistema inteiro.
Abraços!