Hola a todos, es mi primer mensaje en el foro y lo primero quería agradeceros vuestra ayuda.
A ver si tengo suerte y me podeis ayudar a resolver una duda, necesito poder comprobar que el script php no se esta ejecutando directamente desde la barra de direcciones. Es decir que si pone en la barra de direcciones http://www.midominio.com/no_accesible.php me mande a la página http://www.midominio.com/login.php pero que si hago un include dentro de un script del script no_accesible.php me funcione. Es decir poder hacer includes pero no ponerlo directamente en la barra de direcciones.
He probado con esto:
Script llamado
no_accesible.php, está modificado para que me saque por pantalla las variables y no me redireccione:
Código PHP:
Ver original<?php
$script_filename=substr($_SERVER["SCRIPT_FILENAME"],strrpos($_SERVER["SCRIPT_FILENAME"],"/")+1,strlen($_SERVER["SCRIPT_FILENAME"])); $request_uri=substr($_SERVER["REQUEST_URI"],strrpos($_SERVER["REQUEST_URI"],"/")+1,strlen($_SERVER["REQUEST_URI"]));
if ($script_filename == $request_uri) {
//header("Location: $sitio_web");
echo $script_filename."<br>";
$request_uri;
}
?>
Ahora hago un include de ese script en otro llamado
administracion.php:
Código PHP:
Ver original<?php
include "no_accesible.php";
?>
HOLA
Pero la variable script_filename me da siempre el script que se está ejecutando no donde realmente está el código.
¿Como podría hacer esta comprobación?
Saludos.
Juanmi.