Sql Injection
Atualmente um dos maiores medos das pessoas que tem um web-site dinâmico com algum tipo de sistema de login são as tentativas de invasão ao banco de dados, dentre essas invasões a mais comum utilizada é a invasão por Injection.
O que é invasão por Injection?
Invasão por injection é quando um usuário mau intencionado insere códigos sql em uma tela de login por exemplo, tentando assim explorar alguma vulnerabilidade.
Nesse artigo irei explicar como se proteger desse ataque utilizando uma função do PHP.
A função utilizada é a mysql_real_escape_string()
A utilidade dessa função é colocar caracteres de escape para evitar que comandos Sql sejam colocados em seu web-site.
Os seguintes caracteres são afetados pela função:
\x00
\n
\r
\
'
"
\x1a
Em caso de sucesso a função retorna a string com os caracteres de escape e em caso de falha, o retorno é FALSE.
Sintaxe
string é um parâmetro obrigatório, ele define a string que sera inserido os caracteres de escape.
connection é um parâmetro opcional, ele especifica a conexão com o MySql, se não especificado, utiliza a ultima conexão aberta.
Utilização da função
A melhor forma de realizar esse check é a criação de uma função especifica para isso.
Espero que tenha ajudado.
Abraços
Allan Romanato
O que é invasão por Injection?
Invasão por injection é quando um usuário mau intencionado insere códigos sql em uma tela de login por exemplo, tentando assim explorar alguma vulnerabilidade.
Nesse artigo irei explicar como se proteger desse ataque utilizando uma função do PHP.
A função utilizada é a mysql_real_escape_string()
A utilidade dessa função é colocar caracteres de escape para evitar que comandos Sql sejam colocados em seu web-site.
Os seguintes caracteres são afetados pela função:
\x00
\n
\r
\
'
"
\x1a
Em caso de sucesso a função retorna a string com os caracteres de escape e em caso de falha, o retorno é FALSE.
Sintaxe
mysql_real_escape_string(string,connection)
string é um parâmetro obrigatório, ele define a string que sera inserido os caracteres de escape.
connection é um parâmetro opcional, ele especifica a conexão com o MySql, se não especificado, utiliza a ultima conexão aberta.
Utilização da função
<?php //Abertura da conexão //Código para capturar usuário e senha podendo utilizar o array $_POST[""] $usuario = mysql_real_escape_string($usuario); $senha = mysql_real_escape_string($senha); $sql = "SELECT * FROM usuarios WHERE usuario='" . $usuario . "' AND senha='" . $senha . "'" //Resto do seu código ?>
A melhor forma de realizar esse check é a criação de uma função especifica para isso.
Espero que tenha ajudado.
Abraços
Allan Romanato
Novo Comentário: