Ver Mensaje Individual
  #3 (permalink)  
Antiguo 23/06/2008, 07:04
nx00
 
Fecha de Ingreso: agosto-2007
Mensajes: 345
Antigüedad: 16 años, 8 meses
Puntos: 21
Respuesta: Evitar listado de directorios

Hola,

hace poco me enfrente a un problema similar y lo resolvi asi:

suponemos que estas listando con el fichero php este directorio

/home/

lo que podrias hacer es crear un fichero (ej: seguridad.php) que contenga
Código PHP:
<?php $seguridad=1?>
entonces en tu fichero php que lista el directorio deberias comprobar que existe el fichero seguridad.php y que $seguridad es igual a 1.

Código PHP:
if(file_exists("/home/seguridad.php"))
{
   @include_once(
"/home/seguridad.php");
    if(
$seguridad==1)
    { 
           
//ENTONCES SI LISTAS EL DIRECTORIO
           //pero ocultando el fichero seguridad.php
    
}
     else
    {
          
//no estas autorizado
     
}
}
else

      
//no estas autorizado

Despues si tu programa php crea subdirectorio en el momento de crear un subdirectorio deberias crear tambien su fichero seguridad.php

Código PHP:
@mkdir("/home/usuario/");
//ahroa creamos seguridad.php en /home/usuario/seguridad.php 
De esta forma solo se listan los directorios con este fichero, entonces al querer listar c:\ o c:\windows o cualquier otro, como seguridad.php no existe no se lista.

Quizas aqui el contenido de seguridad.php no es muy util pero si tu programa quisiera no solo listar sino listar segun los permisos de un usuario logeado con $_SESSION si seria mas util.