[ Dica PHP ] – Como detectar solicitações em Ajax via PHP

Me deparei com esta necessidade hoje, e decidi compartilhar esta dica.
Se você precisa detectar se a solicitação está sendo feita via ajax,
especialmente em casos onde formulários ou páginas de uma aplicação são submetidos via ajax,
e você queira prevenir o acesso direto via URL, o PHP dispõe de um índice na variável global $_SERVER chamado ‘HTTP_X_REQUESTED_WITH’ que permite retornar se uma solicitação é ajax ou não.
Vamos ver como utilizar este recurso então!

Ao utilizar


$_SERVER['HTTP_X_REQUESTED_WITH'];

em uma solicitação Ajax, será retornado o string ‘XMLHttpRequest’ e caso contrário retornará uma mensagem de erro.

Então poderíamos criar uma função para realizar esta verificação:


function isHttpRequest()
{
    if( @$_SERVER['HTTP_X_REQUESTED_WITH'] == 'XMLHttpRequest') {
        return true;
    }
    return false;
}

Para omitir o erros de um recurso qualquer no PHP basta colocar o sinal @ antes do mesmo.

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *