Fiz uma página de verificação de login paa ver se bloqueio sql injetion assim evitando que algum espertinho invadir o sistema.
<?php
session_start(); // Inicia a session
include "../mysql.php";
function anti_injection($sql) {
// remove palavras que contenham sintaxe sql
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
$sql = trim($sql);//limpa espaços vazio
$sql = strip_tags($sql);//tira tags html e php
$sql = eregi_replace ("(\"|\')", "", $sql);
$sql = addslashes($sql);//Adiciona barras invertidas a uma string
return $sql;
}
$adminmaster = anti_injection($_POST["login"]);
$passmaster = anti_injection($_POST["senha"]);
if((!$adminmaster) || (!$passmaster)){
echo "<script>alert('login e senha devem ser digitados. Retorne e digite seus dados de login');history.back(-1);</script>";
include "login.php";
}
else{
$sql = mysql_query("SELECT * FROM administradores WHERE login='{$adminmaster}' AND senha='{$passmaster}'");
$login_check = mysql_num_rows($sql);
if($login_check > 0){
while($row = mysql_fetch_array($sql)){
foreach( $row AS $key => $val ){
$$key = stripslashes( $val );
}
$_SESSION['login'] = $login;
$_SESSION['senha'] = $senha;
$_SESSION['nome'] = $nome;
$_SESSION['email'] = $email;
header("Location: principal.php");
}
}
else{
echo "<script>alert('Usuário e/ou Senha inválido(s)!Confira os dados digitados e tente novamente se o erro continuar entre em contato com o Administrador');history.back(-1);</script>";
include "login.php";
}
}
?>
mas o problema é que o Easy PHP está dando erro nas linhas 9 e 12
linha 9
$sql = preg_replace(sql_regcase("/(from|select|insert|delete|where|drop table|show tables|#|\*|--|\\\\)/"),"",$sql);
Linha 12
$sql = eregi_replace ("(\"|\')", "", $sql);
Alguém poderia me dizer onde está o erro? pois não estou conseguindo ajeitar isso?











