Centro de Ayuda:

{

Pagos y Renovaciones
- Cómo pagar
- Aviso de Pago
- Renovaciones
- Upgrade/Ampliar Plan

Ayuda Básica
- Mi primera página
- Preguntas Frecuentes
- Videos Tutoriales
- Configurar Email en Outlook?

Email, Webmail, Outlook
- Crear Email
- Configurar Outlook
- Problemas Outlook
- Preguntas Varias Email

Servidores Vps Linux y Windows Chile

Preguntas Frecuentes

Scripts



Categorias

FrontPage


FTP


Ventas y Pagos


Bases de Datos


Email


Buscadores


Dominios


Hosting


Desarrollo Web


Cpanel


Scripts


Programacion Php


Seguridad


Scripts

Cambiar Register Globals On u Off


Investigamos el tema acerca de la variable register globals; como su sitio web esta alojado en un servidor compartido, no podemos cambiar esta variable para todos nuestros clientes, pero usted lo puede hacer solamente para su cuenta, para eso usted debe crear el archivo php.ini en la carpeta donde usted desea cambiar esta variable, el archivo debe contener lo siguiente

register_globals=off

y su variable será desactivada, usted puede comprobar este cambio utilizando el comando phpinfo(); dentro de un archivo php para que vea que la variable register globals tiene un nuevo valor, para más información por favor visite.

CLIC AQUI





Más Info - Uso de Register Globals



Quizás el cambio más controversial en la historia de PHP se ha dado cuando la directiva register_globals pasó de tener como valor por defecto ON al valor OFF en PHP 4_2_0_ La dependencia sobre esta directiva era bastante común y muchas personas nisiquiera estaban enteradas de que existía y asumían que ese era el modo en que PHP trabajaba_ Esta página explicará cómo puede llegar a escribirse código inseguro con esta directiva pero tenga en mente que no es la directiva misma la que es insegura sino el uso inapropiado de ella_

Cuando se encuentra activa, la directiva register_globals inyectará (o envenenará) sus scripts con todo tipo de variables, como variables de peticiones provenientes de formularios html_ Esto junto con el hecho de que PHP no requiere la inicialización de variables significa que es muy fácil escribir código inseguro_ Fue una decisión difícil, pero la comunidad de PHP decidió desahibilar esta directiva por defecto_ Cuando está habilitada, las personas usan variables sin saber con seguridad de dónde provienen y solo queda asumir_ Las variables internas que son definidas en el script mismo son mezcladas con los datos enviados por los usuarios y al deshabilitar register_globals se modifica este comportamiento_ Demostremos este caso con un ejemplo del uso incorrecto de register_globals:

Ejemplo 15_14_ Ejemplo del uso inapropiado de register_globals = on

// definir $autorizado = true solo si el usuario ha sido autenticado

if (usurio_autenticado()) {
$autorizado = true;
}

// Ya que no inicializamos $autorizado como false, esta podria estar
// definida a traves de register_globals, como en el caso de GET
// auth_php?autorizado=1

// De modo que cualquier persona podria verse como autenticada!

if ($autorizado) {
include "/datos/muy/importantes_php";
}
?>

Cuando register_globals = on, nuestra lógica anterior podría verse comprometida_ Cuando la directiva está deshabilitada, $autorizado no puede definirse a través de peticiones, así que no habrá ningún problema, aunque es cierto que siempre es una buena práctica de programación inicializar las variables primero_ Por ejemplo, en nuestro ejemplo anterior pudimos haber realizado primero algo como $authorized = false_ Hacer esto representa que el código anterior podría funcionar con register_globals establecido a on u off ya que los usuarios no serían autorizados por defecto_

Otro ejemplo es aquel de las sesiones_ Cuando register_globals = on, podríamos usar también $nombre_usuario en nuestro siguiente ejemplo, pero nuevamente usted debe notar que $nombre_usuario puede provenir de otros medios, como GET (a través de la URL)_

Ejemplo 15_15_ Ejemplo del uso de sesiones con register_globals on u off

// No sabriamos de donde proviene $nombre_usuario, pero sabemos que
// $_SESSION es para datos de sesion

if (isset($_SESSION['nombre_usuario'])) {

echo "Hola {$_SESSION['nombre_usuario']}";

} else {

echo "Hola Invitado
";
echo "¿Quisiera iniciar su sesión?";

}
?>

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 15_16_ Detección de envenenamiento simple de variables

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@ejemplo_com", "Posible intento de intromision",
$_SERVER['REMOTE_ADDR']);
echo "Violació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_

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




Más respuestas para Scripts    |     Volver a "Pregunas Frecuentes"


Tags:   register_globals on, register_globals = on, como cambiar el globlal off, comprobar variable de session socialengine, como hacer un php.ini en un hosting, activar globales php, php.ini cambiar global on, php variables globales cambiar phpinfo(), como activar el register_globals off, para que hay que cambiar las variables php en las carpetas del servidor, Web Hosting , generar script phpmyadmin , problemas al configurar correo electrónico blackberry 8520 , servidor de correo entrante o saliente smtp , tablas html , php convertir una variable e string , algunos diseños de paginas web con html , cero abrir pagina para trabajar , entrar auna base de datos en internet , , samsung galaxy pop s5570 precio , antena para telefonos inalambricos , llamar una funcion de jquery cuando se carga la pagina , mysqldump example , gmail correo , codigo html pagina simple , parametros php , vision mision y valores portal web , cambiar diseño de letras html , como configurar outlook 2007 , como tener abierta dos cuentas de correo en la blackberry 8520

Planes Incluyen:


  Panel de Control
  Valores y Precios
  Plantillas Web Gratis
  Manuales y Tutoriales
  Asesorías en Dominios
  400 Video Tutoriales

Servicios Web:


  Diseño Web
  Diseño de Sitios Web
  Páginas Web
  Programación Web
  Posicionamiento Web
  Mails Google Apps

Soluciones para:


  Plantillas Web
  Buscadores
  Páginas Web Gratis
  Emailing
  E-Commerce
  Web Hosting

 |   Home  |   Faqs  |   Contacto  |

soporte@superhosting.cl
ventas@superhosting.cl
renovaciones@superhosting.cl

Super Hosting Chile 2000 - 2011 ® Todos los Derechos Reservados  -  Condiciones de uso

Parterns:  SuperWeb  :  Página Web Gratis  :  Eledos  :  SuperMaq  :  SuperSushi