REGISTER_GLOBALS: Um perigo de segurança do PHP
REGISTER_GLOBALS já foi um recurso controverso no PHP, gerando condenação generalizada. Sua reputação infame decorre dos riscos de segurança inerentes que representava.
Então, qual é o problema com REGISTER_GLOBALS?
REGISTER_GLOBALS cria automaticamente variáveis globais para todos os parâmetros de solicitação GET e POST , tornando-os acessíveis em qualquer lugar do script. Isso representa uma ameaça significativa, pois o acesso a variáveis não declaradas é apenas um aviso em PHP, não um erro.
Considere o seguinte código hipotético:
// $debug = true;
if ($debug) {
echo "query: $query\n";
}
Sem REGISTER_GLOBALS habilitado, acessar a variável $query não declarada resultaria em um aviso ou erro, solicitando que os desenvolvedores definissem explicitamente a variável. No entanto, com REGISTER_GLOBALS ativado, a consulta $ não declarada ainda estaria disponível como uma variável global, criando um caminho potencial para invasores explorarem esse parâmetro não declarado.
Embora não seja inerentemente ruim, REGISTER_GLOBALS pode exacerbar as falhas de segurança predominantes em muitos scripts PHP devido à sua qualidade frequentemente deficiente. Como tal, geralmente é recomendado desabilitar REGISTER_GLOBALS para maior segurança.
Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.
Copyright© 2022 湘ICP备2022001581号-3