Foros del Web » Programando para Internet » PHP »

Evitar que algunos navegantes accedan

Estas en el tema de Evitar que algunos navegantes accedan en el foro de PHP en Foros del Web. Hola: Hice un desarrollo que combina Flash con PHP. El PHP devuelve una página con una animación determinada. El asunto es que quiero que sólo ...
  #1 (permalink)  
Antiguo 12/07/2008, 23:07
 
Fecha de Ingreso: diciembre-2007
Mensajes: 467
Antigüedad: 16 años, 4 meses
Puntos: 3
Evitar que algunos navegantes accedan

Hola:

Hice un desarrollo que combina Flash con PHP. El PHP devuelve una página con una animación determinada. El asunto es que quiero que sólo vean esos archivos algunas personas. Por esto, utilizo session_start() y $_SESSION en PHP para detectar si el navegante tiene derechos para acceder a determinada información. Si los tiene, el echo del PHP envía un código que incluye el archivo Flash, de lo contrario, envía un código que indica al navegante que no tiene derechos suficientes.
Todo esto está perfecto si se mira superficialmente. El tema es que en la página que recibe el navegante que tiene derechos suficientes, se encuentra precisamente la ruta a los archivos que quiero ocultar a los demás navegantes. Todos sabemos que los navegadores permiten ver el código HTML de una página. El que tiene esa ruta, puede acceder a los archivos y sortear mi rudimentario sistema de seguridad.
Lo que quiero saber es cómo hacen los programadores que saben mucho para permitir el acceso a archivos del servidor sólo a algunos navegantes.
Muchas gracias.


Federico
  #2 (permalink)  
Antiguo 12/07/2008, 23:13
Avatar de kalvinman  
Fecha de Ingreso: octubre-2006
Ubicación: Bogota Colombia
Mensajes: 849
Antigüedad: 17 años, 6 meses
Puntos: 22
Respuesta: Evitar que algunos navegantes accedan

mmm esta interesante el punto.

1- Si yo lo tubiera que hacer, usaria el sistema de proteccion de carpeta que aparece en el cpanel.

2-Si lo hiciera con php lo haria de la siguiente manera:
Cuando se inicie session que el script cree un copia de los archivos que se van a ver en otra carpeta con el nombre de la sesion y cuando la sesion caduque se borre la carpeta. El problema seria lo engorroso del sistema, pero asi se cada vez que se vieran los archivos estaria como en una cache que aunque copiaran y supieran donde esta depende de la sesion para existir. xD
  #3 (permalink)  
Antiguo 12/07/2008, 23:19
Avatar de eZakto  
Fecha de Ingreso: julio-2008
Mensajes: 214
Antigüedad: 15 años, 9 meses
Puntos: 5
Respuesta: Evitar que algunos navegantes accedan

Si los archivos que ocultas son texto/imágenes, en todo caso se puede ponerles la extensión .php, implementarles tu sistema de restricción, usar header('Content-type: loquesea') para que el archivo se envía como texto/imagen y luego rewritemod para cambiarle la extensión a la correcta. Pero si es un archivo flash... Me mataste.

Y no podrías, como haces con el echo que muestra el flash, un echo que muestre la ruta de los archivos? :P Aunque, claro, si son archivos primordiales para el resto del sitio, no creo que sirva...

Voto por la solución de kalvinman :P

Saludos.
  #4 (permalink)  
Antiguo 13/07/2008, 11:40
 
Fecha de Ingreso: diciembre-2007
Mensajes: 467
Antigüedad: 16 años, 4 meses
Puntos: 3
Respuesta: Evitar que algunos navegantes accedan

Muchas gracias a ambos. Yo había pensado algo como lo de Kalvinman pero cambiando los nombres de los archivos aunque me parece mejor esto de copiarlos en una carpeta temporal del mismo nombre asignado a una determinada sesión y luego elimimarlos cuando caduque esa sesión.
El punto es: cómo hago para detectar que la sesión ha caducado?, es decir, si el usuario no presiona un botón para cerrar la sesión, las variables globales asociadas a una sesión caducan al cabo de cierto tiempo??. Aún así, si caducan al cabo de un tiempo, cómo programo para cuando eso ocurra, ya que tendría que instalar algún servicio del servidor para actuar en ese caso.
Mi preocupación es que el usuario no cierre sesión y por lo tanto, no se ejecute el script que borra la carpeta. En ese caso, el que tiene la ruta a los archivos podría acceder a los mismos.
No se si soy claro con mi planteo.
Muchas gracias de nuevo y espero que me puedan ayudar.



Federico
  #5 (permalink)  
Antiguo 13/07/2008, 13:25
 
Fecha de Ingreso: abril-2006
Mensajes: 1.128
Antigüedad: 18 años
Puntos: 33
Respuesta: Evitar que algunos navegantes accedan

fede1976:
Si te entiendo bien,
lo que deseas se puede lograr poniendo al inicio de cada archivo php y despues de session_start() algo asi ->
if(isset($_SESSION['usuario'] {
el usuario continua navegando...
} else {
Borras la carpeta temporal
y exit();
}
Esto te soluciona la inquietud referente si las sesiones
caducan, entonces el usuario No puede continuar y se borra
el archivo o archivos temporales.
Saludos
Y espero Te ayude
Franco
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 06:25.