La misión de
limpiar() no es validar, sino evitar en lo posible ataques de inyección sql a través del formulario.
Ejemplo:
Código PHP:
Ver original// En un select tipo
$sql = "SELECT * FROM users WHERE user='".$_POST['user']."' AND password='".$_POST ['password']."';";
// Si:
$_POST['user'] = ' usuario';
$_POST['password'] = "' OR ''='";
// Conexión BBDD
conectadb('test');
// Sin protección el pass equivale a: nada es igual a nada, da acceso al sistema:
$sql = "SELECT * FROM users WHERE user='usuario' AND password='' OR ''='';";
// Con función
limpiar();
$sql = "SELECT * FROM users WHERE user='usuario' AND password='\' OR \'\'=\'';";
// Rdo: password=\"\' OR \'\'=\'\"
// !!Tiene que haber una conexión con la BBDD antes de usar mysql_real_escape_string() o limpia totalmente:
Código PHP:
Ver original$sql = "SELECT * FROM users WHERE user='' AND password='';";
!== 1 Significa que
no es igual a 1, no es
true, en fin que no está logeado.
El usuario envía los datos. En la función que lo valida, si todo esa bien, hay una línea:
Código PHP:
Ver original$_SESSION['Autenticado'] = 1; // lo mismo true u otra cosa.
Ya tienes uno:
Código PHP:
Ver originalif (isset($_SESSION["s_user_username"])) {// garantizo que inicio sesion