Mas afinal de contas, por que eu precisaria bloquear o acesso a uma página PHP? Talvez você esteja se perguntando isso agora. Bom, existe um motivo muito bom para isso!
Você já precisou fazer um script para rodar no Cron do servidor e que não pudesse ser acessado através do navegador, mas apenas pelo servidor? Gastou muito tempo tentando configurar rotas ou .htaccess, talvez colocando uma senha para a página?
Se você usa PHP, a solução pode ser muito mais simples do que você pensava. Continue a leitura e confira!
A solução é colocar um condicional (if) antes do código a ser executado. Veja o exemplo abaixo:
<?php if (!defined('STDIN')) { echo "Acesso não autorizado!"; }else{ //Coloque seu código aqui... } ?>
Está pronto!
Essa é uma solução muito prática. Além disso, é uma solução simples e que não consome grandes recursos do servidor. A menos que a requisição venha do próprio servidor, não será possível executar o script do código.
Explicando o código: o método defined (não confundir com "define", que instancia uma constante em PHP) verifica se a constante existe e não é definida. No código acima, se a constante 'STDIN', que é usada somente pelo servidor não tiver sido definida, o acesso não será autorizado. Caso contrário, o código será executado.
Espero tê-lo ajudado com essa solução simples mas eficaz. Até a próxima!