Ver Mensaje Individual
  #11 (permalink)  
Antiguo 25/04/2011, 19:49
Avatar de Triby
Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: $HTTP_POST_VARS / Formulario

No es recomendable el uso de $_REQUEST, simplemente porque ahi puedes obtener valores que vienen tanto de $_GET, como de $_POST y, los posibles riesgos de seguridad, derivan de no saber exactamente el origen de los datos ingresados por el usuario y un mal manejo de los mismos, como no verificar.

Entonces, si sabes que ciertos datos los vas a recibir por URL, los tomas de $_GET y si los esperas de un formulario (con metodo post), entonces los tomas de $_POST.

Yo considero que hay 3 "puntos" que representan los mayores riesgos de seguridad:
1- Usar datos directamente de $_GET o $_POST para incluir otros archivos; ejemplo: include $_GET['modulo'] . '.php';
Riesgo: Grave, porque puede permitir accesos a otros archivos/scripts de tu sitio que contengan informacion importante.

2- Usar datos directamente de $_GET o $_POST para ingresarlos a base de datos, ya sea para extraer, introducir o actualizar información; siempre se deben escapar antes de colocarlos en una consulta.
Riesgo: Grave, porque puede permitir acceso, modificacion y/o perdida de informacion almacenada en la base de datos.

3- Usar datos directamente de $_GET o $_POST para mostrarlos en la pagina.
Riesgo: Grave, porque se pueden ejecutar scripts (javascript) para obtener informacion de otros visitantes del sitio y/o descargar virus, malware, etc.

Solucion: Siempre valida toda la informacion recibida, si esperas un numero, verifica que el dato sea numerico y que cualquier cadena (string) cumpla con las reglas que establezcas: caracteres permitidos, longitud minima/maxima, etc.
__________________
- León, Guanajuato
- GV-Foto