Register globals

708 views

Published on

Trabajo de Diseño web Mutimedia

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
708
On SlideShare
0
From Embeds
0
Number of Embeds
17
Actions
Shares
0
Downloads
1
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Register globals

  1. 1. REGISTER GLOBAL=on?
  2. 2. Los register_globals son un agujero de seguridad increíble.
  3. 3. Egister Global =on esta compuesto por dos condiciones on u off.
  4. 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. 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. 6. En el script basta con usar $_REQUEST para usar indistintamente variables $_POST y $_GET y no duplicar el algoritmo.
  7. 7. VENTAJAS
  8. 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. 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.
  10. 10. COSECUENCIAS
  11. 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. 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 &quot;/ altamente sensible y data.php&quot;; ) ?> ?>
  13. 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 &quot;on&quot; !!)
  14. 14. TRABAJO DE DISEÑO WEB MUTIMEDIA POR: EDGAR PAUTA

×