Aplicación de la carpeta .htaccess nombre de usuario / contraseña con PHP

Estoy construyendo una aplicación web PHP / MySQL. Los usuarios inician sesión y se establecen varias variables de sesión.

Hay una carpeta en el servidor web donde los usuarios pueden cargar archivos (de cualquier tipo: imágenes, pdf, .doc, etc.). Me gustaría proteger esta carpeta para evitar que las personas que no están conectadas escriban en la url y obtengan estos archivos. La búsqueda de archivos en esta carpeta no está permitida.

Puedo aplicar una contraseña usando mi panel de control, que funciona muy bien. Sin embargo, significa que los usuarios tienen que iniciar sesión en la aplicación, luego, la primera vez que navegan a un archivo en esta carpeta protegida, se les solicita el nombre de usuario / contraseña para la carpeta protegida. Me gustaría hacerlo para que no tengan que escribir el nombre de usuario / contraseña de la carpeta protegida.

¿Hay alguna manera cuando un usuario inicia sesión, configurando sus variables de sesión, al mismo tiempo, usando PHP, también establece el nombre de usuario / contraseña para la carpeta protegida, para que no se le pregunte? Gracias. Iain.

    La forma en que me acerqué a esto fue que la carpeta protegida a la que creen tener acceso NO es la carpeta protegida real, lo que ocurre es que solo interactúas con ella a través de PHP, y si han iniciado sesión (que puedes hacer un .htaccess falso enviando el códigos de authetificación web apropiados ver http://php.net/manual/en/features.http-auth.php )

    A partir de ahí, si “inician sesión” puede saber, y se les pueden mostrar los códigos; si no, puede decir “No está conectado, si desea acceder a esta área, deberá iniciar sesión”.

    es simple pero efectivo.

    recuerde, por supuesto, que las personas sensatas saben que si lo hace http: // usuario: password@site.com/files envía automáticamente información de autenticación web.

    No creo que puedas obtener las variables de la sesión de PHP desde el nivel de .htaccess .

    Lo que puede hacer es volver a escribir cualquier acceso a un script PHP que busque un usuario que haya iniciado sesión y devuelva el archivo o redireccione a una página ‘no conectada’.

    Lo hice hace años, pero funcionó muy bien con cpanel: llamé programáticamente a la página de configuración de protección de directorio de cpanel y agregué el nombre de usuario / contraseña allí. Entonces, cpanel se encargó de la administración del servidor. Sin embargo, no tengo idea si eso todavía funciona.

    Hay una biblioteca disponible que puede usar para crear los archivos .htaccess y .htpasswd también. Nunca lo he usado así que no puedo decir si funciona: Clase: PHP Functions Class

    En cierto modo, recuerdo alguna otra biblioteca que solo hace el acceso .htaccess y .htpasswd, por lo que puede encontrar algo más con la búsqueda en Internet.