jueves, 7 de junio de 2012

El Array SuperGlobal $_POST de PHP


$_POST es un array asociativo que envía variables al script seleccionado mediante el método HTTP POST.

* Este método es el más seguro si se utiliza bien, ya que no muestra información a través de la URL, evitando que alguien pueda acceder a información comprometida. Aunque esto es relativo existen analizadores de red que pueden obtener el valor de las variables enviadas mediante este método e incluso las variables de sesión, por eso se recomienda utilizar el protocolo https que cifra las peticiones enviadas a un servidor creando un cordón de seguridad más difícil de franquear.

* Seguridad: siempre que se programe con PHP el aspecto más importante de todos es la seguridad, y entre los aspectos que siempre hay que tener en cuenta es de la importancia del filtrado de datos siempre que se hagan consultas con los métodos POST y GET. En el ejemplo que hay a continuación se muestra como filtrar los datos con la función preg_match() para que sólo se acepten números.

Imagen 1 del ejemplo ...


Imagen 2 del ejemplo, en este caso devuelve un error ya que se ha enviado un tipo de datos distinto a números ...



Código de ejemplo ...

/* 
Nota importante: Uno de los aspectos fundamentales de PHP 
es mantener la seguridad mediante el filtrado de datos al 
realizar peticiones GET y POST 
*/

$resultado = "";
$error = "";
if (isset($_POST["id"]))
{
$id = $_POST["id"];

if (!preg_match("/^[0-9]+$/", $id))
{
$error = "<p style='color: red;'>Sólo se aceptan números</p>";
}
else
{
$resultado = $id;
}
}
?>

<?php echo $error; ?>
<form method="post" action="<?php $_SERVER["PHP_SELF"]; ?>">
ID: <input type="text" name="id">
<input type="submit" value="Enviar">
</form>
<h3><?php echo $resultado; ?></h3>




No hay comentarios: