Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 10 postagens
Mais de 10 postagens
Tópico Autor
Mensagens: 18
Nome: somzuada
Descrição do site: Rádio web
Contato:

Script de anti injection MySQL

15-01-2011 02:18

Script anti injection para evitar invasão via login pelo formulário.

session_start();     // cria uma sessão para o admin include ("conexao.php"); // inclui dados de conexao //FUNÇÃO ANTI-INJECTION   function anti_injection($sql){    $sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"), "" ,$sql);    $sql = trim($sql);    $sql = strip_tags($sql);    $sql = (get_magic_quotes_gpc()) ? $sql : addslashes($sql);    return $sql; } $login = anti_injection($_POST['login']); $senha = anti_injection($_POST['senha']); //pega o login e senha preenchidos no form $login = $_POST['login']; $senha = $_POST['senha']; /* Selecione tudo da tabela login ONDE o login passado no forma for igual o login cadastrado no banco e a senha passada no forma for igual a senha cadastrada no banco */ $sql = "SELECT * FROM login WHERE login = '$login' AND senha = '$senha'"; $result = mysql_query($sql);//envia a query $num_rows = mysql_num_rows($result);  // conta os resultados da query em linhas if ($num_rows == 0) { //se ele nao achar nada     echo "<script>           alert('Login ou Senha estão errados ! Por favor confira.')           history.go(-1)           </script>";         exit(); }else{    // se achar entao loga o admin e ...         $_SESSION['rrusuario']  = $login;     print("<meta http-equiv='refresh' content='1;url=index.php'>"); // redireciona o admin }  

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17401
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Script de anti injection MySQL

15-01-2011 09:19

Bom script, só não achei necessário a segunda criação do $login e $senha, já que foram criados e filtrados antes.

MOVIDO: de PHP para MySQL
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17401
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

Script de anti injection MySQL

19-12-2011 18:59

Para quem está tendo problema com palavras que estão sendo apagadas, por terem o mesmo valor do replace, devem usar o seguinte:

<?php function anti_injection($sql){    $sql = preg_replace("/( from |select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/", "" ,$sql);    $sql = trim($sql);    $sql = strip_tags($sql);    $sql = (get_magic_quotes_gpc()) ? $sql : addslashes($sql);    return $sql; } echo anti_injection(' * from froma '); ?>

Observe que há um espaço antes e depois do from, o mesmo deve ser feito para as outras palavras, se necessário.
0
Tem um script legal em HTML, CSS, PHP, HTML, JavaScript, jQuery? Poste e compartilhe com os usuários do fórum :rock:

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado