Tengo una web que incluye un par de archivos...
ejemplo:
index.php?id=4 ---> incluye a pagina4/index.php
lo que quiero restringir es el acceso directo a pagina4/index.php y que solo se pueda acceder por medio de index.php?id=4
como se hace en php?
Saludos!
Nose si sea esto lo que buscas pero al principio del index.php podrias colocar esto:
if(!isset($_GET[id])){
die("No tienes acceso aqui! bye (:");
}
bueno yo el otro dia estuve viendo el codigo de joomla y para ellos lograr lo que tu quieres hicieron esto,
pusieron en la principal define() que se usa para definir una constante. y en cada pagina usaban un defined que averigua si esa contante a definida.
en joomla en el index.php sale esto:
// Set flag that this is a parent file
define( '_JEXEC', 1 );
y en todos los modulos sale esto
// no direct access
defined('_JEXEC') or die('Restricted access');
Cita de: .mokk. en 27 Enero 2011, 16:48 PM
Nose si sea esto lo que buscas pero al principio del index.php podrias colocar esto:
if(!isset($_GET[id])){
die("No tienes acceso aqui! bye (:");
}
habia pensado este mismo sistema, el problema es que si pones paginaprohibida.php?id=cualquiercosa se muestra el contenido igual xd FAIL jaja entonces no se como se podra hacer mas seguro...
Cita de: bomba1990 en 27 Enero 2011, 21:16 PM
bueno yo el otro dia estuve viendo el codigo de joomla y para ellos lograr lo que tu quieres hicieron esto,
pusieron en la principal define() que se usa para definir una constante. y en cada pagina usaban un defined que averigua si esa contante a definida.
en joomla en el index.php sale esto:
// Set flag that this is a parent file
define( '_JEXEC', 1 );
y en todos los modulos sale esto
// no direct access
defined('_JEXEC') or die('Restricted access');
se ve interesante... aunque no entiendo muy bien como funciona.. me podrias explicar?
es sencillo en la pagina principal se coloca.
define( '_JEXEC', 1 );// esto define una constante
y cada una de las paginas que deberia salir interna se coloca
defined('_JEXEC') or die('Restricted access');//comprueba si la constante esta definida