Xampp proteger directorios utilizando httpd-xampp.conf #xampp #ubuntu #server #apache





Al subir una pagina estática o dinámica realizada con php algunos usuarios pueden bajar su contenido o la pagina completa con un simple comando como:

wget -k -c -r paginaparabajar.com

o ver el contenido de nuestra carpeta de css , img y js con la posibilidad de descargar todos nuestros archivos de forma muy fácil.

para protegerlos sin usar .htaccess debemos hacer lo siguiente


  • buscar el archivo  httpd-xampp.conf que si usas ubuntu estara en la ruta "/opt/lampp/etc/extra"

    sudo nano /opt/lampp/etc/extra/httpd-xampp.conf
  • lo abres y agregaras al final el siguiente código:

    <LocationMatch "^/web/(?i:(?:archivos|css|elementos|fonts|img|js|less|paginas|scss|video))">
     Options -Indexes
    RewriteEngine On 
    RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Bot\ mailto:craftbot@yahoo.com [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Custo [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^DISCo [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Download\ Demon [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^eCatch [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^EirGrabber [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^EmailSiphon [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^EmailWolf [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Express\ WebPictures [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^ExtractorPro [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^EyeNetIE [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^FlashGet [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^GetRight [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^GetWeb! [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Go!Zilla [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Go-Ahead-Got-It [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^GrabNet [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Grafula [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^HMView [OR] 
    RewriteCond %{HTTP_USER_AGENT} HTTrack [NC,OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Image\ Stripper [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Image\ Sucker [OR] 
    RewriteCond %{HTTP_USER_AGENT} Indy\ Library [NC,OR] 
    RewriteCond %{HTTP_USER_AGENT} ^InterGET [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Internet\ Ninja [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^JetCar [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^JOC\ Web\ Spider [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^larbin [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^LeechFTP [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Mass\ Downloader [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^MIDown\ tool [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Mister\ PiX [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Navroad [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^NearSite [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^NetAnts [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^NetSpider [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Net\ Vampire [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^NetZIP [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Octopus [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Offline\ Explorer [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Offline\ Navigator [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^PageGrabber [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Papa\ Foto [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^pavuk [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^pcBrowser [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^RealDownload [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^ReGet [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^SiteSnagger [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^SmartDownload [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^SuperBot [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^SuperHTTP [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Surfbot [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^tAkeOut [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Teleport\ Pro [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^VoidEYE [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Web\ Image\ Collector [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Web\ Sucker [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebAuto [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebCopier [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebFetch [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebGo\ IS [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebLeacher [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebReaper [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebSauger [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Website\ eXtractor [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Website\ Quester [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebStripper [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebWhacker [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WebZIP [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Wget [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Widow [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^WWWOFFLE [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Xaldon\ WebSpider [OR] 
    RewriteCond %{HTTP_USER_AGENT} ^Zeus 
    RewriteRule ^.* - [F,L]
           #ErrorDocument 403 /error/XAMPP_FORBIDDEN.html.var
     ErrorDocument 403 /error/error.html
    </LocationMatch> 



  • Explicación del codigo


    <LocationMatch "^/web/(?i:(?:archivos|css|elementos|fonts|img|js|less|paginas|scss|video))">
    en<LocationMatch "^/web/  especifica el directorio raiz donde esta ubicada nuestra pagina en este caso tengo una carpeta llamada web en el htdoc de xampp si tiene una llamda "mipagina" solo sera necesario remplazar el nombre
    en
    (?:archivos|css|elementos|fonts|img|js|less|paginas|scss|video))  son todas las carpetas dentro de mi directorio raiz que deseo bloquear  

    en
    Options -Indexes esta regla ejecuta que no puedan ser indexados los directorios que especificamos en la regla anterior 


    en RewriteEngine On El uso más común que se le da a esta opción de configuración de Apache es para reescribir URLs y hacerlas más amigables, es decir, más sencillas para el usuario y para los motores de búsqueda. Pero también tiene otros usos, menos conocidos, y sobre todo, menos extendidos.  

    en
    RewriteCond %{HTTP_USER_AGENT} y sus variantes son bloqueos para robots que puedan mapear nuestra pagina y ver todo el contenido que tenemos dentro de ella 

    en ErrorDocument 403 /error/error.html si sucede el evento u el caso llamo a otro archivo (modificado a nuestro gusto) que crearemos mas adelante para usar


    para guardar si estas usando nano CTRL+O luego para salir CTRL+X  


    enlace del archivo:
    https://drive.google.com/file/d/0B-2FDrPc5MapVE9IOG1NS2JtekE/view?usp=sharing       



    archivo html de error   


       sudo nano /opt/lampp/error/error.html



     
     <!DOCTYPE html>
    <html lang="en">
    <head>
     <meta charset="UTF-8">
      <title>No Disponible</title>
     <style>
     body img{ width:10%; }
     div{
      text-align:center;
     }
     .h1rojo{
     color:red;
     }
     </style>
    <link href='https://cdn2.iconfinder.com/data/icons/humano2/128x128/actions/dialog-error.png' rel='icon' type='image/x-icon'/>
    </head>
    <body>
    
    <div>
     <h1 class="h1rojo">La pagina que Buscas no esta Disponible!!</h1>
    
    
    <img src="http://www.abadlimpiezas.com/images/cara-triste.gif" alt="">
    <h3>Contacta a: <a href="https://plus.google.com/110134351723261095361" target="_blank">Cirel Ramos</a></h3>
    </div>
     
    
    
    </body>
    </html>

      para guardar si estas usando nano CTRL+O luego para salir CTRL+X  


     Enlace del Archivo: https://drive.google.com/file/d/0B-2FDrPc5MapcTNkYkt6V09Kejg/view?usp=sharing      

    y el resultado de todas nuestra configuración es este: 

    como pueden observar no tengo acesso para listar la carpeta css igual pasaria con js e img

    obviamente la ruta que utilice en el archivo httpd-xampp.conf no fue /web/ sino /web/proyectos/pagina_curriculum/v4/

    Fuente: 
    http://kekomundo.com/foro/index.php?topic=235780.0

0 comentarios :