Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Micilini Roll

Proteger arquivo contra acesso externo?

Recommended Posts

Olá pessoal, eu possui um arquivo no meu servidor chamado globalAPI.php responsavel por processar todos os tipos de requisições que a minha plataforma realiza, ou seja, toda a minha plataforma usa AJAX para extrair resultados do PHP, seja para abrir uma nova tela ou até mesmo se comunicar com minhas API's internas.

Todas essas requisições AJAX são enviadas para o arquivo globalAPI.php, agora imagine um website externo sabendo disso e fazendo requisições AJAX para esse arquivo, fazendo com que gere resultados para o site dele.

Isso é uma coisa que não pode acontecer, sendo assim, qual a melhor forma de proteger esse arquivo?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Basta você fazer às validações, primeiro verifique se o post veio realmente por requisição assíncrona, utilizando a variável super global

$_SERVER['HTTP_X_REQUESTED_WITH']

se retornar TRUE então é por meio do AJAX. Passe parâmetros junto aos dados para verificar se é seu script que está fazendo a requisição, nada muito complicado. Podes validar também se a requisição vem de seu servidor ou de fora, trabalhando com a variável super global

$_SERVER['SERVER_ADDR']

Esta serve para retornar o IP do servidor onde se encontra o script em questão. Mais informações no manual do PHP.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Entendi, mas vamos supor que meu codigo esteja fazendo a seguinte verificação:

if($_SERVER['SERVER_ADDR'] == 'MEU IP AQUI'){

echo 'voce entrou no sistema';

}else{

echo 'premissão negada';

}

Vamos supor que aquele rapaz que esta fora da minha plataforma troque o seu IP para o IP do meu servidor... não tenho 100% de certeza mas acho que ele passa (ainda mais se configurar o IP no CURL).

Atualmente a minha plataforma cria sessions e cookies, quando um usuario esta logado existe uma session e um cookie contendo o mesmo hash, e é atraves dele que eu verifico se o usuario está logado ou não...

Supondo que nesta ocasião o rapaz tenha pegado o hash desse cookie e enviado via CURL, ele conseguiria entrar da mesma forma? Ou não?

Neste caso nao tenho tanta certeza pois o arquivo global.php esta no meu servidor então ele extrai os cookies e sessions que estão no navegador do usuario que tem acesso ao meu servidor não?

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.