|
G A C E T A D E L I N U X
...haciendo a Linux un poco más divertido! |
|
Seguridad con SuperGlobales PHP
Por David Lechnyr Traducción al español por Luis Armando Hernandez Enriquez
|
"Evita a las mujeres desconocidas y a las variables temporales." -- Anónimo.
Hace algunos años, mi esposa y yo decidimos ir a esquiar al norte. Para reservar el equipo de esquiar, debías hacerlo 24 horas antes a través del Sitio Web en línea en el apartado de reservaciones de esquís. El asunto fue que mi esposa me pidió hacer las reservaciones 23 horas antes de la hora límite:
De esta manera comencé a pensar que las condiciones del Sitio Web en línea, no me iban a permitir hacer reservaciones si no era dentro de las 24 horas límite en que estaba estructurado el Sitio. Sin embargo, una vez que seleccionas una fecha adecuada, pude percatarme que el URL era:
https://www.somewhere.com/reservations.php?date=01-23-01
Esto me ocurrió mientras ellos habían desbloqueado la seguridad sobre aquellas fechas de las que yo podía escoger, el valor final fue introducido dentro de una sentencia GET al final de la dirección Web. Yo modifiqué la dirección Web para utilizar "date=01-22- 01" y desde luego, nuestros esquís estuvieron esperándonos a primera hora a la mañana siguiente (pagamos por ellos, por supuesto).
Este ejemplo inocente en la práctica, es solo uno de los peligros a los cuáles debemos de estar alertas cuando se utiliza algún lenguaje de programación que pudiera ser usado en formas diferentes a las que llegamos a probar, lo que nos conduce a nuestra discusión sobre las Superglobales PHP.
Para entender las Superglobales, es fundamental que entiendas la manera en que los datos son pasados de una página Web a otra (Ej. Los formularios). Específicamente, debes estar consciente de dos métodos conocidos como GET y POST. Probablemente, estés familiarizado con la sentencia