
25/04/2011, 19:49
|
 | Mod on free time | | Fecha de Ingreso: agosto-2008 Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 16 años, 7 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. |