Evita que se listen los archivos que hay en un directorio

Archivos dentro de un directorio (Capturado de enGeneral).Seguramente alguna vez has entrado en un directorio y te has encontrado un listado con todos las carpetas y archivos que hay en el.

Esto lo vemos diariamente en WordPress con la carpeta uploads, si entras, por ejemplo, en www.tudominio.com/wp-content/uploads/2009/01/ verás todas las subidas que se han hecho en el mes de enero de dos mil nueve, más o menos como se ve en la imagen de la izquierda (pulsa en la imagen para agrandarla).

Si quieres que no se listen los archivos que hay subidos en un directorio sin index simplemente tienes que añadir esto en el .htaccess de tu sitio:

Options -Indexes

De esta forma, si algún curioso intenta entrar en alguna carpeta sin index le debería aparecer algo como esto:

Error 404: No se muestran los archivos que hay en el directorio.

Imagen (1) capturada de enGeneral

Comentarios
  1. El método es bueno, pero personalmente prefiero asegurarme de tener siempre en todos los directorios un archivo index.html que apunte hacie el directorio principal y cargue la portada del blog.

    Si das pistas y dices que no se tiene acceso a un determinado directorio, es fácil que quien llegue a él sea un potencial atacante y al mostrar le mensaje de error, piquemos su curiosidad por buscar la forma de entrar. En cambio, un redireccionamiento da menos pistas sobre qué es lo que puede haber allí y es por tanto más seguro. Incluso me suena, aunque no puedo asegurarlo, que hay algún plugin que hace eso.

    Escrito el30/12/2008
  2. Francisco Marín

    @Fernando: Sin duda tu método es una manera de perder ni una sola visita, pero tiene varios peros:
    1) Si tienes un sitio grande le tendrías que dedicar muchas horas que las podrías dedicar para mejorar tu blog.
    2) Si tienes un buen alojamiento debería de estar bien protegido así que le seria imposible a la persona entrar en tu host.
    3) Esto tiene algo que ver con la dos. Para que una persona entre hasta el punto que dices a tu sitio tiene que ser un experto en estos temas por lo tanto con una redirección no le vas a engañar.
    4) Por mucho más que lo oculte si son direcciones como la que puse en la entrada (uploads) cualquier usuario con un nivel básico-medio saben que están hay. Y aunque cambies con ver la URL de cualquier imagen que tengas en tu blog sabrán cual es.

    Como ves está muy bien para “engañar” a los usuarios básicos pero estos por mucho que quieran no tienen los conocimientos suficientes para hackear el sitio. Y por otra parte se pierde tiempo en hacerlo.

    Escrito el31/12/2008
  3. CalinSoft

    si añademos en el .htaccess

    ErrorDocument 404 http://www.midominio.com/404
    ErrorDocument 400 http://www.midominio.com/400
    ErrorDocument 401 http://www.midominio.com/401
    ErrorDocument 403 http://www.midominio.com/403
    ErrorDocument 500 http://www.midominio.com/500

    Podremos redireccionar todos las paginas de errores.

    Para el caso creo que seria el

    ErrorDocument 403 http://www.midominio.com/403

    y Asi no mostrar el feo error de “Forbidden”

    Saludos

    Escrito el31/12/2008
  4. Muy buen blog, como dijo Fernando Tellado, gracias por abrir un espacio dedicado a este gran CMS.

    Estas cosas me serviran y mucho.

    Un saludo.

    Escrito el31/12/2008
  5. gracias poe el tip lo use y funciono pero lo de errordocument no me funciono, me dice
    que el sitio hace loop sin fin

    Escrito el05/01/2009
    • Francisco Marín

      @nadie007: Pues… es raro a no ser que en el .htaccess tengas alguna redirección de los errores 404 a un lugar que lo redireccione a si mismo, si quieres, copia aqui todo lo que tienes en tu .htaccess y creo que te podré decir el motivo del error. O también puedes pasarte por nuestro foro y pegar alli en un nuevo tema lo que contiene tu archivo.

      Espero que podamos solucionar el problema.

      Escrito el05/01/2009
  6. Muy útil..
    Gracias.

    Escrito el05/02/2009

DEJA TU COMENTARIO