Foros del Web » Programando para Internet » PHP »

Seguridad en $_GET

Estas en el tema de Seguridad en $_GET en el foro de PHP en Foros del Web. Hola, quisiera saver si este codigo es vulnerable a inyeccion. Código PHP: <?php $id  = (int)  $_GET [ 'id' ]; $name  = (string)  $_GET [ 'name' ]; ...
  #1 (permalink)  
Antiguo 30/11/2010, 18:40
Avatar de ONahuelO  
Fecha de Ingreso: junio-2009
Ubicación: Gualeguaychú, Argentina
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 4
Seguridad en $_GET

Hola, quisiera saver si este codigo es vulnerable a inyeccion.
Código PHP:
<?php
$id 
= (int) $_GET['id'];
$name = (string) $_GET['name'];
$price = (string) $_GET['price'];
mssql_select_db('clientes',mssql_connect('127.0.0.1,1433','sa','1234'));
mssql_query("INSERT INTO usuarios (id,name,price) VALUES ($id,'$name','$price')");
?>
  #2 (permalink)  
Antiguo 30/11/2010, 19:22
Avatar de carlos_belisario
Colaborador
 
Fecha de Ingreso: abril-2010
Ubicación: Venezuela Maracay Aragua
Mensajes: 3.156
Antigüedad: 14 años
Puntos: 461
Respuesta: Seguridad en $_GET

pues creo que seria bueno que leyeras un poco de seguridad ahi te ayuda mucho con respecto a la seguridad saludos
__________________
aprende d tus errores e incrementa tu conocimientos
it's not a bug, it's an undocumented feature By @David
php the right way
  #3 (permalink)  
Antiguo 01/12/2010, 08:58
Avatar de ONahuelO  
Fecha de Ingreso: junio-2009
Ubicación: Gualeguaychú, Argentina
Mensajes: 144
Antigüedad: 14 años, 10 meses
Puntos: 4
Respuesta: Seguridad en $_GET

Acabo de leer las 3 partes de la guia, y en la 2 explica lo del codogo, pero de nuevo estoy en la misma, mas o menos entiendo lo que es la inyeccion y que si filtro caracteres no va a pasar, pero lo que no quiero es limitar al usuario a que no use esos caracteres.

Osea pensava en que el usuario pueda usar los caracteres que pueda, y informarle al sql que es un string y no pueda inyectarme codigo.
  #4 (permalink)  
Antiguo 01/12/2010, 09:52
Avatar de cluster28  
Fecha de Ingreso: enero-2008
Ubicación: Donostia - San Sebastián
Mensajes: 756
Antigüedad: 16 años, 3 meses
Puntos: 32
Respuesta: Seguridad en $_GET

Es mejor que verifiques siempre lo que escriben los usuarios antes de pasarlo a la base de datos. Ya sea tipos de datos o valores exactos posibles.

Se suele usar la función addslashes para, por lo menos, poner contrabarras delante de los carácteres que necesitan escaparse en situaciones como consultas de bases de datos. Con esto se puede evitar la inyección. (aunque no te puedo asegurar que sea 100% efectivo)

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 10:04.