Bueno, pero entonces sería hacer un request a dicha URL, cosa que con la consola también se puede conseguir, además de que hay muchas formas para hacer eso.
¿Entonces que caso tiene?
Es como si abro mi navegador y apunto hacia un script de los que intentas proteger, claro que voy a poder cargarlo, ¿entonces de que sirven tus comparaciones con php?
De nada, son sencillamente inútiles.
Sigo pensando que si de verdad pretendes evitar la ejecución (ok, no inclusión) de código debes colocar tus scripts fuera del acceso público y/o protegerlo correctamente con .htaccess ¿no te parece?
Y si, es fácil, extremadamente sencillo cuando se tiene un servidor apropiado claro está, y desde luego que si no es así la forma de protección que buscas seguirá siendo inútil.
Esa es la solución mas elegante a mi parecer.
Pero bien, aún hay otra solución un poco más rudimentaria, la de la "
constante bloqueadora".
Si en tu archivo front-controller o index defines una constante, al incluir otro script dicha constante debe estar en el ámbito, a menos que el script se ejecte directamente, lo cual ya no tiene dicha constante en contexto.
¿Se entiende?
index.php
Código PHP:
define('FUUUUUA', 1);
mi/script/sensible.php
Código PHP:
if ( ! defined('FUUUUUA')) die('acceso protegido');
No te marees de la nada.