4. Register Global=on se lo coloca en el código de PHP porque supuestamente es un código que esta compuesto por variables.
5. PHP4 trabajaba por defecto el parámetro register_globals="on" lo que significa que cuando usabas una variable por GET o POST solo la invocabas (ej.: para mostrar la variable $usuario de un formulario solo ponías echo $usuario;).
6. En el script basta con usar $_REQUEST para usar indistintamente variables $_POST y $_GET y no duplicar el algoritmo.
8. Con globals en on era fácil hacer pasar una variable post por get o peor aun, una variable interna del sistema usando get.
9. Cuando se activa, la directiva register_globals inyectará 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 escribir código inseguro que es mucho más fácil.
11. Fue una decisión difícil, pero la comunidad de PHP decidió desactivar esta directiva por defecto. Cuando 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 deshabilitar register_globals se modifica este.
12. Ejemplo # 1 Ejemplo del uso inapropiado de register_globals = on <? Php / / Definir $ autorizado = true sólo si el usuario está autenticado If (authenticated_user ()) ( $ Autorizado = true; ) / / Ya que no inicializamos $ autorizado como false, esta podría ser / / Definida a traves de register_globals, como en el caso de GET auth.php? Autorizado = 1 / / Por lo tanto, cualquier persona puede verse como autenticada! If ($ autorizado) ( Incluir "/ altamente sensible y data.php"; ) ?> ?>
13. A pesar de los beneficios de este cambio, muchos scripts antiguos no toman en cuenta este asunto y pueden dejar de funcionar, para esos casos, ( y para que no te pase siquiera por la cabeza poner de nuevo register_globals en "on" !!)