Bloquear acceso directo a paginas

Iniciado por Sinedra, 27 Enero 2011, 16:26 PM

0 Miembros y 1 Visitante están viendo este tema.

Sinedra

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!

.mokk.

Nose si sea esto lo que buscas pero al principio del index.php podrias colocar esto:

Código (php) [Seleccionar]

if(!isset($_GET[id])){
die("No tienes acceso aqui! bye (:");
}



bomba1990

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:
Código (php) [Seleccionar]
// Set flag that this is a parent file
define( '_JEXEC', 1 );


y en todos los modulos sale esto
Código (php) [Seleccionar]
// no direct access
defined('_JEXEC') or die('Restricted access');
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve

Sinedra

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:

Código (php) [Seleccionar]

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:
Código (php) [Seleccionar]
// Set flag that this is a parent file
define( '_JEXEC', 1 );


y en todos los modulos sale esto
Código (php) [Seleccionar]
// no direct access
defined('_JEXEC') or die('Restricted access');


se ve interesante... aunque no entiendo muy bien como funciona.. me podrias explicar?

bomba1990

es sencillo en la pagina principal se coloca.

Código (php) [Seleccionar]
define( '_JEXEC', 1 );// esto define una constante

y cada una de las paginas que deberia salir interna se coloca

Código (php) [Seleccionar]
defined('_JEXEC') or die('Restricted access');//comprueba si la constante esta definida
"Cuando le di de comer a los pobres me llamaron santo, pero cuando pregunte porque los pobres eran pobres me dijeron comunista"

http://sosinformatico.blogspot.com/
http://www.publisnet.com.ve