"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como impedir o acesso direto a arquivos acessados ​​via AJAX em PHP?

Como impedir o acesso direto a arquivos acessados ​​via AJAX em PHP?

Publicado em 2024-11-12
Navegar:202

How to Prevent Direct Access to Files Accessed via AJAX in PHP?

Prevenindo acesso direto a arquivos acessados ​​via AJAX

Ao acessar um arquivo PHP através de uma solicitação AJAX, como "func.php", o acesso direto a esse arquivo pode ser uma preocupação de segurança. Para resolver esse problema, é crucial implementar um mecanismo que diferencie entre solicitações AJAX e tentativas de acesso direto.

Uma solução eficaz é aproveitar a variável de servidor "HTTP_X_REQUESTED_WITH". A maioria das estruturas AJAX definem esse cabeçalho como "XMLHttpRequest", fornecendo uma maneira de distinguir entre solicitações AJAX genuínas e acesso direto ao navegador. Esta verificação de cabeçalho pode ser implementada no arquivo PHP da seguinte maneira:

if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && ($_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest')) {
    // Allow access...
} else {
    // Ignore or deny access...
}

Ao implementar essa verificação, você pode garantir que apenas solicitações AJAX legítimas possam acessar o arquivo especificado, protegendo-o contra acesso direto não autorizado.

Além disso, para maior segurança, você pode definir manualmente o Cabeçalho "X-Requested-With" em sua solicitação AJAX usando o seguinte código JavaScript:

var xhrobj = new XMLHttpRequest();
xhrobj.setRequestHeader("X-Requested-With", "XMLHttpRequest");

Esta etapa fortalece ainda mais a proteção contra acesso direto a arquivos.

Tutorial mais recente Mais>

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