REGISTER_GLOBALS: Un peligro para la seguridad de PHP
REGISTER_GLOBALS alguna vez fue una característica controvertida en PHP, lo que provocó una condena generalizada. Su infame reputación se debe a los riesgos de seguridad inherentes que plantea.
Entonces, ¿cuál es el problema con REGISTER_GLOBALS?
REGISTER_GLOBALS crea automáticamente variables globales para todos los parámetros de solicitud GET y POST , haciéndolos accesibles en cualquier parte del script. Esto representa una amenaza significativa ya que el acceso a variables no declaradas es simplemente una advertencia en PHP, no un error.
Considere el siguiente código hipotético:
// $debug = true;
if ($debug) {
echo "query: $query\n";
}
Sin REGISTER_GLOBALS habilitado, acceder a la variable $query no declarada generaría una advertencia o un error, lo que incitaría a los desarrolladores a definir explícitamente la variable. Sin embargo, con REGISTER_GLOBALS activado, la consulta $ no declarada aún estaría disponible como variable global, creando una vía potencial para que los atacantes exploten este parámetro no declarado.
Aunque no es intrínsecamente malo, REGISTER_GLOBALS puede exacerbar las fallas de seguridad que prevalecen en muchos scripts PHP debido a su calidad a menudo deficiente. Como tal, generalmente se recomienda desactivar REGISTER_GLOBALS para mejorar la seguridad.
Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.
Copyright© 2022 湘ICP备2022001581号-3