.htaccess básico

  • 0 Respuestas
  • 1869 Vistas

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado xyz

  • *
  • Ex-Staff
  • *****
  • Mensajes: 533
  • Actividad:
    0%
  • Reputación 13
    • Ver Perfil
    • Under0cde

.htaccess básico

  • en: Septiembre 25, 2017, 05:15:46 pm
Es interesante conocer el concepto antes de continuar con algunos ejemplos gráficos.

Que es .Htaccess ?
Htaccess es la abreviatura de Hypertext Access. Se trata de un archivo de configuración utilizado por servidores web basados en apache. Este tipo de archivos configura los ajustes iniciales de un programa o, como ocurre en este caso, del servidor. Esto significa que se puede utilizar el archivo .htaccess para que el servidor se comporte de una determinada forma. Cada función es básicamente una línea de texto, o código, que indica al servidor lo que tiene que hacer. Puede añadir o cambiar la funcionalidad añadiendo o cambiando el código en el archivo .htaccess.

Fuente: You are not allowed to view links. Register or Login

Entonces, al conocer que es un simple archivo de texto, él mismo debe ser insertado en la carpeta raiz del sitio web / ó en la carpeta que se desee proteger /www/documentos/.

Para poder trabajar con .htaccess basta con tener un servidor web corriendo, un navegador y un editor de preferencia.

El sitio sobre el que veremos el ejemplo será el siguiente:



Como muestra la imagen anterior, se listan todas las carpetas y archivos en el directorio raiz /.

El archivo htaccess es un archivo oculto, por lo tanto, no será visible via web (aunque..... es cuestión de verificar).

Entonces, vemos que hay un archivo con nombre passwd y si hacemos clic sobre él, mostrará información útil:



Ahora, si queremos bloquear que los archivos no sean listados desde un navegador, deberemos crear el archivo .htaccess y agregar la siguiente línea:

Código: PHP
  1. Options All -Indexes

Recargamos el sitio web, y quedará de la siguiente manera:



Aclaración: Para que sea visible en el editor lo que vamos realizando, la siguiente imagen mostrara el archivo creado con la línea insertada; luego de aquí seguiremos unicamente agregando códigos y modificando.



La primer imagen mostraba un archivo passwd, si queremos que no se indexe solo basta escribir la siguiente línea:

Código: PHP
  1. IndexIgnore passwd

Y el sitio mostrará el siguiente contenido:



Al ingresar a la carpeta Mis Documentos, encontramos la siguiente información:



Si queremos restringir el acceso a los archivos .txt solo hay que añadir la siguiente línea de código:

Código: PHP
  1. IndexIgnore *.txt

Como la siguiente imagen muestra, los archivos con extensión .txt no son indexados.




De la misma forma es posible añadir todas las extensiones que sean necesarias para evitar la indexación.

Si es necesario evitar la indexación completa de una carpeta, solo agregamos la siguiente línea:

Código: PHP
  1. IndexIgnore Mix_Documentos



Recordando que dentro de la carpeta Mix_Documentos hay un archivo metasploitable.txt, lo que haremos será ocultarlo (es un ejemplo sencillo, imaginen si un server expone archivos de configuración en texto plano); con la diferencia que no será accesible desde la url.

Entonces, creamos un htaccess dentro de la carpeta que vamos a proteger el/los archivos de configuración e insertamos el siguiente código:

Código: PHP
  1. <Files metasploitable.txt>
  2. order allow,deny
  3. deny from all
  4. </Files>

De ésta manera, podremos conjugar seguridad con privacidad.

Continuando, con detalles del archivo de configuración.

A veces queremos redirigir al visitante de una forma sutil, entonces lo que hacemos es escribir la siguiente línea.

Código: PHP
  1. Redirect 301 /seguridad_htaccess/Documentos_Pdf/index.html https://google.com

Donde indicamos que, al acceder a la ruta Documentos_Pdf y lea el Index.html lo reenvie a google.

Vemos las imágenes.



Luego de añadir el código del redirect 301 y recargar la página web, créanme que redirige a el sitio de google (tambíen pueden hacer las pruebas).



Ahora, ahondaremos en conceptos un poco mas tangibles.

Como utilizar páginas de errores personalizadas.

Código: PHP
  1. ErrorDocument 400 /error/e400.html
  2. ErrorDocument 401 /error/e401.html
  3. ErrorDocument 403 /error/e403.html
  4. ErrorDocument 404 /error/e404.html
  5. ErrorDocument 500 /error/e500.html

Lo que debemos hacer es, para cáda código de error crar una página web personalizada; entonces cuando el visitante ingresa al sitio, en vez de encontrar los típicos mensajes de error del servidor, verá las que decidimos enseñar.

Para el caso explicaré la estructura de las líneas de código:
  • ErrorDocument 404: Es el código de error.
  • /error/: Es la ruta absoluta donde se encuentra/n lás páginas de errores personalizadas.
  • e404.html : Es el archivo que será mostrado al visitante.

Entonces, al ingresar a un lugar que no contenga el archivo que buscamos, obtendremos:



Y con el mensaje de error personalizado, el visitante verá lo siguiente:



<hr>

Hay más opciones y parámetros para trabajar en un .htaccess es cuestión de lanzar un server e ir testeando el rendimiento, como plus; dejo el siguiente código:

Código: PHP
  1. # EVITAR ALGUNOS BOTS Y RIPPERS
  2.  
  3. Options -Indexes
  4. RewriteEngine on
  5. #Spammers
  6. RewriteCond %{REMOTE_HOST} 12.226.240.248 [OR]
  7. RewriteCond %{REMOTE_HOST} 24.111.102.26 [OR]
  8. RewriteCond %{REMOTE_HOST} 24.117.121.113 [OR]
  9. RewriteCond %{REMOTE_HOST} 65.30.216.140 [OR]
  10. RewriteCond %{REMOTE_HOST} 67.87.64.23 [OR]
  11. #Abusivos
  12. RewriteCond %{HTTP_USER_AGENT} ^BlackWidow [NC,OR]
  13. RewriteCond %{HTTP_USER_AGENT} ^Bolt 0 [NC,OR]
  14. RewriteCond %{HTTP_USER_AGENT} ^Bot mailto:craftbot@yahoo.com [NC,OR]
  15. RewriteCond %{HTTP_USER_AGENT} CazoodleBot [NC,OR]
  16. RewriteCond %{HTTP_USER_AGENT} ^ChinaClaw [NC,OR]
  17. RewriteRule ^.* - [F,L]
  18. #Bloquear bot abusivos por IP
  19. order allow,deny
  20. allow from all
  21. deny from 8.21.4.254
  22. deny from 65.160.238.176/28
  23. deny from 85.92.222.0/24
  24. deny from 206.51.36.0/22
  25. deny from 216.52.23.0/24
  26.  
  27. Aclaración: AL UTILIZAR LA BANDERA [L] INDICA QUE NO PROCESE

<hr>

La fuente es de varios ejemplos tomados de internet y depurados siendo fuente propia.

Un saludo .!

 

[JavaScript][BASICO] Videocurso de JavaScript

Iniciado por NewRadius

Respuestas: 1
Vistas: 2338
Último mensaje Enero 03, 2013, 09:31:12 pm
por DGadiiel
[HTML][BASICO] Primeros pasos en HTML

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2062
Último mensaje Febrero 24, 2010, 11:53:11 am
por ANTRAX
[HTML][BASICO] Script ''Haga desfilar un texto mediante la etiqueta <marquee>''

Iniciado por ANTRAX

Respuestas: 0
Vistas: 2052
Último mensaje Febrero 24, 2010, 11:15:37 am
por ANTRAX
[JavaScript][BASICO] Resolver funciones matemáticas (Versión simple) By 2Fac3R

Iniciado por 2Fac3R

Respuestas: 0
Vistas: 2255
Último mensaje Diciembre 23, 2012, 12:55:06 am
por 2Fac3R
[HTML][BASICO] Script para que no se pueda copiar una imagen

Iniciado por Pa531no5

Respuestas: 0
Vistas: 1771
Último mensaje Abril 16, 2010, 11:21:13 am
por Pa531no5