Funcion anti Inyecciones SQL incluida en SMF, publicada por
дٳŦ*<?php
function addslashes__recursive($var){
foreach ($var as $k => $v)$new_var[addslashes($k)]=addslashes__recursive
($v); return $new_var;
}
$_POST=addslashes__recursive($_POST);
$_GET=addslashes__recursive($_GET);
$_REQUEST=addslashes__recursive($_REQUEST);
$_SERVER=addslashes__recursive($_SERVER);
$_COOKIE=addslashes__recursive($_COOKIE);
?>
Saludos
Estoy aprendiendo PHP y note que esa funcion solo filtra los dos tipos de comillas unicamente en comparacion de
mysql_real_escape_string que filtra: \x00, \n, \r, \, ', " y \x1a y evita una inyeccion:
Lei estoYo por lo general uso esta funcion que encontre en la red (para mi la mejor
)
<?php
// Aplicar comillas sobre la variable para hacerla segura
function comillas_inteligentes($valor)
{
// Retirar las barras
}
// Colocar comillas si no es entero
}
return $valor;
}
// Conexion
$enlace = mysql_connect('mysql_host', 'mysql_usuario', 'mysql_contrasenya')
// Realizar una consulta segura
$consulta = sprintf("SELECT * FROM usuarios WHERE usuario=%s AND password=%s", comillas_inteligentes($_POST['username']),
comillas_inteligentes($_POST['password']));
?>
pero antes filtro los datos con htmlentities
PD: es curioso y/o algo raro que un espacio " " juegue un papel importante aqui porque luego de escribir:
e intente previsualizar el post me muestre:
pero cuando escribo:
recien previsualiza el post