Ver Mensaje Individual
  #7 (permalink)  
Antiguo 21/09/2005, 10:42
Cluster
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por claudiovega
Se supone que los array superglobales solucionan este problema, pues las variables no llegan desde fuera, sino que se crean en el servidor. Es decir, usar siempre $_POST o $_GET y tambien $_SERVER['HTTP_REFERER'] para asegurarse que determinada pagina o script ha llamado y pasado valores al script que manipula dichas variables.
No, los arrays superglobales no solucionan el problema de "inyección remota" de datos .. sólo aseguran que entren por el método esperado .. sea GET o POST. Perfectamente con un formulario puedes simular GET o POST cara a tu otro servidor.

El uso del "HTTP_REFERE" tampoco es muy fiable. Como dato que se envia como cabecera HTTP entre la comunicación cliente-servidor .. es fácilmente alterable .. de hecho muchos proxys, firewall's y antivirus ocultan dicha información (no la entregan) .. así que en algúnos casos (usuarios que pasen por un proxy .. firewall .. etc) no vas a poder obtener dicha información .. y la conexión será completamente licita (vendrá de tu própio sitio).

Recomiendo usar sesiones .. iniciadas en tu script que contiene tu formulario el cual ataca a tu "proceso.php" y validado en proceso.php la existencia de la variable de sesión que creastes en tu formulario.php. Si entras directo a "proceso.php" .. tus variables de sesión no existiran y por ende tu validación cortará el proceso.

Un saludo,