Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/01/2010, 09:55
Avatar de hector2c
hector2c
 
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 5 meses
Puntos: 25
Pregunta sobre seguridad...

pues, tengo la siguiente funcion para evitar inyección sql:

Código PHP:
function fn_filtro($cadena) {
    if(
get_magic_quotes_gpc() != 0) {
        
$cadena stripslashes($cadena);
    }
    return 
mysql_real_escape_string($cadena);

mi pregunta es, en caso desee modificar un registro, pues envio a la pagina el id: modificar.php?ide_mat=7

y luego hago una consulta de este tipo:

Código PHP:
//ante comparo si el $_GET contiene valores, en caso no tengo doy redirección

$sql sprintf("select * from biblio_materia where est_eli_mat=0 and ide_mat=%d",
    
fn_filtro((int)$_GET['ide_mat'])
);

//obtengo la cantidad de resultados, en caso sea distinto a 1, redirecciono.
//en caso haya 1 resultado muestro los datos.. 
lo que deseo es evitar que hagan cosas como esta: modificar.php?ide_mat=asdfa85asdfas

creen que es suficiente con el %d (segun entiendo, da formato decimal), o tambien siempre es necesario agregar el (int), para convertir en entero el $_GET...

lo que deseo es no cargar con conversiones el script: (int), deseo que sea limpio, ligero... muchas gracias...
__________________
blog: hector2c.wordpress.com
email: [email protected]

Última edición por hector2c; 10/01/2010 a las 09:57 Razón: agregar comentarios...