Não permitir que acessem diretamente as urls utilizadas em Ajax

Quando usamos Ajax em nossas aplicações trabalhamos com um script específico que devolve os dados preparados para que seja interpretado e mostrado no browser. Em algumas ocasiões não é de nosso agrado que os usuários acessem diretamente as URLs utilizadas em Ajax.

Por | @jonathanlamimkt Programação

Quando usamos Ajax em nossas aplicações trabalhamos com um script específico que devolve os dados preparados para que seja interpretado e mostrado no browser.

Em algumas ocasiões não é de nosso agrado que os usuários acessem diretamente as URLs utilizadas em Ajax.

Para evitar esta situação pode-se usar um script simples. Será levado em consideração o valor da variável de ambiente HTTP_REFERER a qual nos devolve desde que a página seja enviada ao script.

$ref = getenv("HTTP_REFERER");
Se o conteúdo desta variável é falso, então é porque foi acessada diretamente pelo navegador, se não, é que foi acessada a partir de uma página, também haverá que comprovar que a página é a que queremos.

$ref = getenv("HTTP_REFERER");
if (!$ref || $ref != "[nuestra url]") {
?>




Blog do Jonathan - Redirecionamento Ajax


Blog do Jonathan - Redirecionamento Ajax





} else {
echo "Olá, agora são ".date("H:i:s");
}
?>

Neste caso mostraremos uma página quando não houver referência ou não seja o que nós esperamos.

A mesma funcionalidade pode ser utilizada por questões de acessibilidade, dependendo de um parâmetro que indica se uma chamada é Ajax ou não, ele retorna a informação ao browser ou informações são exibidas em uma página.

Link
Caso haja problemas de acessibilidade, o link para acessar a página com a informação. Caso contrário, a função ajax () é executada, indicando que esta é uma chamada Ajax para que a informação seja retornada formatada, seja em XML, ou JSON ou como queremos.

Até o próximo artigo...

Mais sobre: ajax, php, progamação
Share Tweet
DESTAQUES
Mais compartilhados
Comentários