Está usted en Indice > Construcción > Lenguajes > PHP > Lecciones y Paso a Paso > Uso de register globals con PHP
Construcción
Maletín
Utilidades
Cursos
Promoción
Rentabilidad
Zona Novatos
Foros
Acceso a tu cuenta

Uso de register globals con PHP (2)

Incluso es posible tomar medidas preventivas para advertir cuando se intente falsificar la información. Si usted sabe previamente con exactitud el lugar de donde debería provenir una variable, usted puede chequear si los datos enviados provienen de una fuente inadecuada. Aunque esto no garantiza que la información no haya sido falsificada, esto requiere que un atacante adivine el medio apropiado para falsificar la información. Si no le importa de dónde proviene la información, puede usar $_REQUEST ya que allí se incluye una mezcla de variables que provienen de datos GET, POST y COOKIE. Consulte también la sección del manual sobre el uso de variables desde fuera de PHP .

Ejemplo 29-3. Detección de envenenamiento simple de variables

<?php
if (isset( $_COOKIE [ 'COOKIE_MAGICA' ])) {

// COOKIE_MAGICA proviene de una cookie.
    // Asegurese de validar los datos de la cookie!

} elseif (isset( $_GET [ 'COOKIE_MAGICA' ]) || isset( $_POST [ 'COOKIE_MAGICA' ])) {

mail ( "admin@example.com" , "Posible intento de intromision" ,
$_SERVER [ 'REMOTE_ADDR' ]);
   echo "Violaci&oacute;n de seguridad, el administrador ha sido alertado." ;
   exit;

} else {

// COOKIE_MAGICA no fue definida en este REQUEST

}
?>

Por supuesto, deshabilitar register_globals no quiere decir que su código vaya a ser seguro. Por cada trozo de datos que sea enviado por el usuario, éste debe ser chequeado en otras formas. ¡Siempre valide los datos de los usuarios e inicialice sus variables! Para chequear por variables no inicializadas, usted puede usar error_reporting() para mostrar errores del nivel E_NOTICE .

Para más información sobre la emulación del valor On u Off de register_globals, consulte este FAQ .

Superglobals: Nota de disponibilidad: Desde 4.1.0, están disponibles algunas matrices superglobales tales como $_GET , $_POST , y $_SERVER , etc. Para más información puede consultar la sección superglobals




Autor: php.net
http://es.php.net/manual/es/security.globals.php

Usuarios que han visto este tema también han visto...

- Contar el número de lineas y caracteres en archivo PHP
- Redimensionar imágenes con PHP
- Instrucciones para conectar con una Base de Datos MySQL en PHP
- Cabecera y pié de página en PHP
- Seccion de contactos en PHP


Versión imprimible - Versión imprimible de este documento
Enviar e-mail - Enviar por e-mail este documento
Publicidad






Cursos de Community Manager

Información legal | Política de Privacidad | Contacte con nosotros

Otro proyecto de Factoría de Internet. Copyright© 2003-2011 Factoría de Internet S.L.. Todos los derechos reservados.


Página generada el 26-05-2012 a las 06:18:47