PHP - Carpeta web con acceso restringido segun BD

 
Vista:

Carpeta web con acceso restringido segun BD

Publicado por lotar (7 intervenciones) el 10/12/2003 10:38:42
Hola, este mismo post lo he puesto en el foro de MySQL.
Os explico:
En mi pagina web tengo una carpeta con archivos para descargar, pero solo me interesa que los usuarios autentificados mediante un nombre de usuario y contraseña pueda acceder al contenido de esa carpeta y poder descargar los archivos.
El servidor es Apache, la BD MySQL y la web está programada en PHP, he creado una BD con una tabla de usuarios, la parte de autentificar al usuario me funciona.
Mi duda es como hago para que la carpeta tenga su acceso restringido mediante usuario y contraseña y evitar que mediante la url , por ejemplo, www.mipaginaweb.com/carpeta_de_descarga en el navegador se pueda ver el contenido de la carpeta.
¿Me podeis decir algun articulo donde se trate este tema o darme una posible solucion?
Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:APACHE + PHP

Publicado por lotar (7 intervenciones) el 10/12/2003 11:21:47
"o sino simplemente coloca un fichero index.php o index.htm o .html segun la configuracion de tu apache, para que no se liste esta carpeta.. el tema es que cuando crees una subcarpeta y alguien sepa el nombre yno le hayas puestao un index.algo, podra ver el contenido si apache no esta configurado para evitar esto." --> Esto ya lo he probado, he puesto dentro de la carpeta donde estan los archivos de descarga un index.php y efectivamente si pones la ruta en el navegador nos devuelve un error 404, pero cuando autentifico al usuario y mendiante codigo php voy a leer la carpeta para listar los archivos que puede descargar el usuario obtengo el mismo error, es decir, no puedo acceder a la carpeta de ninguna manera.

"respecto a lo de dar acceso dependieno de los usuarios en la base de datos, deberías de hacer un sistema de autentificacion con PHP que obtenga los usuarios desde una tabla en MySQL" --> Esto ya lo he probado y me funciona.

El problema lo tengo en el punto de arrriba, si pongo un index.php en la "carpeta privada", entonces nadie puede leer el contenido de esta carpeta. !!!!!!!!!!!!!!!!!!!!
Gracias por responder, seguiremos leyendo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:APACHE + PHP

Publicado por xxx (6 intervenciones) el 10/12/2003 13:44:56
en el primer punto no deberías obtener error, sino una pagina en blanco.
quiza es porque usas la basura de internet explorer, y cuando las paginas pesan menos de medio KB (o sea 512 bytes), marta error..
asi que deberias escribir 512 o 513 (por las dudas) espacios en blanco para evitar eso.

otra seria el clasivo directorio protegido por contraseña de apache , uqe tambien lo haces desde el .htaccess
y para ponerlo en conjunto con mysql, podrias escribir un script que te agregue usuarios a la base de datos, y que te los agregue al fichero de passwords.

otra opcion seria colocar en el index.php

$autentificado = validar_usuario($username, $passwd);

if ($autentificado == TRUE) {
// escanear directorio
// mostrar ficheros y carpeta
} else {
// imprimir 512 espacios o mensaje que no puede acceder
}

y listo.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:ls.php

Publicado por lotar (7 intervenciones) el 15/12/2003 11:21:11
Ok gracias, lo del htaccess y htpasswd funciona pero me interesa autentificar a traves de una BD mysql, voy a mirarme todo esto que me habeis comentado con un poco de detenimiento, tambien me han comentado que me mire el modulo mod_auth_mysql

Si no sale seguire insistiendo.

Otra cosa, la autentificacion a traves de un fichero htaccess y htpasswd para acceder a un directorio web me funciona pero una vez que he accedido a ese directorio si vuelvo a intentar el acceso entonces me entra directamente sin preguntar usuario / contraseña, como se puede evitar esto para que siempre se realice la autentificacion, quizas se haya quedado alguna cookie
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:+ mysql

Publicado por mursegot (7 intervenciones) el 15/12/2003 12:49:22
Ok, se agradecen los rapidos comentarios, aqui hay mucha tela que cortar será cuestion de ir haciendo pruebas para ver a donde llego.
Si me encallo o lo resuelvo lo postearé. Saludos y gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar