Buen día, tengo la siguiente sentencia de control, su función es eliminar el código malicioso que entra en el formulario, si detecta que es diferente el string A (Original) del string B (Pasado por el Filtro) me devuelva un true o false, el problema es que siempre me envía "No es igual la cadena" aun cuando A=B
Código PHP:
$varcontrol=false;
function ai($data) {
$check=$data;
$data = trim($data);
$data = strip_tags($data);
$data = stripslashes($data);
$data = htmlspecialchars($data);
$data = str_replace("'", "''", $data);
$data = str_replace("=", "''", $data);
$data = str_replace("*", "''", $data);
$data = str_replace("FROM", "''", $data);
$data = str_replace("from", "''", $data);
if($data != $check){
echo "Diferente";
$varcontrol=true;
}else{
echo "Iguales";
}
return $data;
}
$user=ai($_POST['control']);
$nombre=ai($_POST['nombre']);
$apellidomaterno=ai($_POST['amaterno']);
$apellidopaterno=ai($_POST['apaterno']);
$sexo=ai($_POST['sexo']);
$carrera=ai($_POST['carrera']);
if($varcontrol=true){
echo "No es igual la cadena";
}else{
echo "La cadena es igual";
}