Foros del Web » Programando para Internet » PHP »

denegar acceso

Estas en el tema de denegar acceso en el foro de PHP en Foros del Web. buenas, quiero denegar el acceso a los usuarios que ingresen a un modulo directamente ejemplo- modulo.php, para que solo se pueda ingresar desde el index.php ...
  #1 (permalink)  
Antiguo 08/07/2010, 15:21
 
Fecha de Ingreso: mayo-2008
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 2
denegar acceso

buenas, quiero denegar el acceso a los usuarios que ingresen a un modulo directamente ejemplo- modulo.php, para que solo se pueda ingresar desde el index.php al modulo

estoy ocupando este code pero siempre me sale que no puedo acceder
hay alguna otra forma ?

if (!eregi("index.php", $PHP_SELF)) {
die ("No puede acceder a este archivo directamente...");
}
//info modulo
  #2 (permalink)  
Antiguo 08/07/2010, 15:32
 
Fecha de Ingreso: abril-2010
Mensajes: 19
Antigüedad: 14 años
Puntos: 0
Respuesta: denegar acceso

Hola!

Por lo que he visto tus funciones están obsoletas.

Yo, que se poco de php, lo que hago es pasarme variables por "post" de una pagina a otra, o bien definir variables session desde un login. Luego pones en cada página un:

if(isset(la variable)) { muestras el codigo. }

Me imagino que se puede hacer muchísimo mejor, pero aún no aprendí a hacerlo.

Saludos!
  #3 (permalink)  
Antiguo 08/07/2010, 15:39
 
Fecha de Ingreso: mayo-2008
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: denegar acceso

no entendi
  #4 (permalink)  
Antiguo 08/07/2010, 15:41
 
Fecha de Ingreso: abril-2010
Mensajes: 19
Antigüedad: 14 años
Puntos: 0
Respuesta: denegar acceso

mira lo que respondí aqui: [URL]http://www.forosdelweb.com/f17/usuario-password-dreamweaver-823024[/URL]
  #5 (permalink)  
Antiguo 08/07/2010, 15:54
Avatar de Gustavo72  
Fecha de Ingreso: abril-2008
Ubicación: -32.956045,-60.661355
Mensajes: 197
Antigüedad: 16 años
Puntos: 9
Respuesta: denegar acceso

Estás bien rumbeado pero en vez de eregi utilizá preg_match y en vez de $PHP_SELF puede usar: $_SERVER["HTTP_REFERER"] quedaría así:
Código PHP:
<?php
if (!preg_match("/index.php/"$_SERVER["HTTP_REFERER"])) {
     die (
"No puede acceder a este archivo directamente...");
}
//info modulo
?>
__________________
Saludos.

Gustavo
  #6 (permalink)  
Antiguo 08/07/2010, 15:55
 
Fecha de Ingreso: mayo-2008
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: denegar acceso

pero para que sesiones ?
  #7 (permalink)  
Antiguo 08/07/2010, 15:59
 
Fecha de Ingreso: mayo-2008
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: denegar acceso

gracias gustavo72 solucionado
  #8 (permalink)  
Antiguo 08/07/2010, 16:00
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: denegar acceso

Si vas a ver la página a través por ejemplo de AJAX puedes verificar si en la dirección esta escrita directamente la página, por ejemplo $_SERVER['PHP_SELF'] te puede datos, solo es cuestión de verificar la ultima parte. Una forma de poder dividirlo y obtener el valor es usando la función de pathinfo. No aconsejo usar HTTP_REFERER porque habrá antivirus y navegadores que pueden alterarlo o no mostrarlo.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #9 (permalink)  
Antiguo 08/07/2010, 20:12
 
Fecha de Ingreso: mayo-2008
Mensajes: 287
Antigüedad: 15 años, 11 meses
Puntos: 2
Respuesta: denegar acceso

entonces si no uso HTTP_REFERER que me recomiendas usar ?
  #10 (permalink)  
Antiguo 08/07/2010, 20:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: denegar acceso

Pero te contesté en el mensaje anterior.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 05:51.