Foros del Web » Programando para Internet » PHP »

sobre seguridad...

Estas en el tema de sobre seguridad... en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 10/01/2010, 09:55
Avatar de hector2c  
Fecha de Ingreso: noviembre-2007
Ubicación: Perú - Tacna
Mensajes: 979
Antigüedad: 16 años, 4 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...
  #2 (permalink)  
Antiguo 10/01/2010, 11:39
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: sobre seguridad...

en todo caso... %d hace lo mismo que (int), entonces tampoco sería necesaria tu función fn_filtro() si el valor es meramente numérico...

y por lo general deberías utilizarla si el valor es string... ;)
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: seguridad
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 02:12.