Supongamos que en mi dominio pongo una carpeta "www.qq.com/hola", que contiene el archivo "adios.exe"
Si escribes "www.qq.com/hola" en tu explorer, te mostrará un listado con los archivos incluidos en dicha carpeta (en el ejemplo, "adios.exe")
¿Cómo puedo hacer para que no se muestre dicha lista? Es decir, quiero que la gente no pueda acceder a un archivo de dicha carpeta A NO SER que escriba su dirección completa (en el ejemplo, "www.qq.com/hola/adios.exe")
Una solución temporal es poner un archivo "index.htm" en la carpeta y así el explorer lo abrirá por defecto cuando escriban "www.qq.com/hola", pero tiene que haber una solución mejor, ¿no?
Por si no se me ha entendido, y en resumen, quiero tener una carpeta privada en mi servidor.
Eso depende de si el servidor permite listar directorios o no creo yo. Es más un tema de configuración.
Un saludo,
Vicente
Hasta donde yo recuerdo, eso depende de si se permite el listado o no de directorios (en linux, me suena un archivo de configuración .htaccess o algo así) en la configuración del servidor.
El servidor de CDMon permite establecer contraseñas para las carpetas que uno quiere.
Sino, con .htaccess seguro que se puede hacer.
EDITADO: ups!, no habia leido lo del "index.html" :)
Esa es la mejor solucion.
Options -Indexes
en el .htaccess de ese directorio. La opción del index.html si no tienes acceso al .htaccess es buena también.
Un index.html con un mensajito tuyo que ponga "La curiosidad mató al gato" es lo mejor :D
http://www.pixelartgames.com/temporal/
puedes subir un .htaccess a la carpeta, los privilegios que das quitas etc... son jerárquicos así que las subcarpetas de hola tendrán la misma configuración a menos claro ta que metas otro .ht :D
Es tema de permisos. Si te aparece el listado tienes permitido que se vean los ficheros del directorio. Lo que debes hacer es acceder a tu panel y modificarlos. En caso de que sólo puedas acceder mediante ftp lo mismo. Quita el permiso a ese directorio para que no se listen desde el programa de FTP.
Saludos
Al hilo del tema: En el espacio web de mi proveedor puedo proteger directorios con usuario y contraseña diréctamente por medio del Cpanel de administración. Así, al intentar acceder al susodicho directorio aparece la consabida ventanita para introducir ambos datos...
La cuestión es que no sé cómo acceder suministrando el usuario y contraseña si lo hago desde una consola http haciendo "GET /directorio/archivo.php HTTP/1.0", ya que me devuelve "401 Authorization Required", ¿alguien me puede iluminar?
Vayamos por partes es linux o windows? El método que usas no es válido ya que lo que haces es impedir que nadie pueda entrar
En caso de windows tienes que modificar los permisos mediante el panel y quitar el permiso de los ussuarios a que puedan listar el directorio.
En el caso de linux es fácil también con el comando chmod deberías poder (O en defecto usar cualquier programa de ftp para hacerlo).
Saludos
quién da más? :P:D
Bueno, ya lo averigué. Me respondo a mí mismo por si a alguien le interesa:
Después de hacer el GET hay que incluir en las credenciales enviadas al servidor un comando de autorización tal que así:
GET /directorio/archivo.php HTTP/1.0
Host: www.dominio.com
Authorization: Basic code
donde "code" es la cadena "user:password" codificada en Base64.
c. q. d.
Gracias por todas las respuestas :)
Pues nada, me quedo con lo del index.htm, que es lo más sencillo...
Esa es la opción más sencilla, sin embargo lo que deberías hacer es usar un .htacess y sobreescribir la opción de mostrar los archivos de las carpetas que no tienen index (Options -Indexes, o algo así).
No obstante, algunos servidores no permiten al htaccess sobreescribir esa opción, en cuyo caso solo te queda el index.htm vacío.
Si quieres hacer que la carpeta aparezca como no existente, ya sea con el htaccess o con el php puedes devolver al cliente un RESPONSE 404, y al usuario le parecerá que esa página no existe (su navegador le pondrá el tipico mensaje de Not Found).
Trastea con google para más detalles.
Aqui un interesante generador de .htaccess :)
http://www.htaccesseditor.com/en.shtml#a_fileList