¿Qué es .htaccess y cómo afecta a tus páginas web?
Cuando quieres crear un blog por primera vez seguro que te has informado sobre la mejor elección entre elegir una plataforma administrada como WordPress.com o Blogger, o bien dar el salto y encargarte tú de todo usando un CMS como WordPress o Drupal. Si te decides por la segunda opción, ya sabes que debes poner tu atención en configurar y optimizar tu página web y tu hosting para evitar problemas.
En anteriores artículos hemos hablado de cómo usar certificados SSL puede ayudarte a proteger el intercambio de datos entre tus clientes y tu negocio, o cómo crear copias de seguridad de tus archivos te sirve para minimizar las pérdidas. Hoy vamos a hablar sobre el archivo .htaccess y cómo limitar el acceso a tu hosting web.
¿Qué es el archivo .htaccess?
El archivo .htaccess (nombre acortado de hypertext access) es un archivo de configuración instalado en servidores con Apache que permite al administrador que lo gestiona restringir el acceso a los directorios o archivos que se incluyen en el servidor, pensando en mejorar la seguridad de tu página web y, por tanto, evitar el acceso de terceras personas.
Además de esto, .htaccess también permite realizar otras funciones con gran peso como establecer redirecciones, crear mensajes de error personalizados, restringir el acceso a carpetas, bloquear direcciones IP o prevenir el hotlinking, entre otras.
¿Para qué debes configurar y optimizar tu .htaccess?
Como decíamos antes, no solo puedes limitar quién puede acceder a tus archivos, sino que puedes crear otras reglas que aumenten el nivel de seguridad de tu servidor y, por tanto, de tu web. Veamos ahora con más detalle cómo puedes proteger tu negocio.
1. Redirecciones
Es una de las funciones más importantes, pudiendo realizar redirecciones de archivos individuales en una misma página web o reenviar solicitudes a otro dominio. En el primer caso, la utilidad reside en el momento que cambies el nombre de la web, mientras que para el segundo la situación perfecta se da cuando una web cambia de dominio.
Otra función interesante es la redirección de HTTP a HTTPS, que puedes hacer también mediante .htaccess.
2. Mensajes de error personalizados
Si entras en una página web, pero lo haces con un enlace que ya no funciona o está mal escrito, el servidor encargado muestra un archivo HTML estándar o un mensaje simple, sin atractivo visual. Es algo que deberías arreglar si quieres que tus visitantes al menos se lleven una impresión agradable y no lean textos con fondo blanco o vean imágenes irrelevantes. En este sentido, puedes usar .htaccess para enseñar páginas o mensajes personalizados. También es posible cambiar la página de error si está fuera de la carpeta raíz o en una URL externa.
3. Limitar el acceso a determinadas carpetas
Puedes usar PHP para configurarlo, pero igual te resulta muy lioso. Si necesitas crear un directorio protegido en tu servidor, .htaccess te sirve para establecer áreas protegidas mediante contraseña, pero tendrás que crear un archivo .htpasswd donde se guarden los nombres de usuario y contraseña.
Estos archivos son relativamente fáciles de crear puesto que existen diferentes tipos de generadores .htpasswd. Al usarlo, podrás crear un .htpasswd para cada usuario con su respectiva contraseña cifrada, dando el nivel de seguridad que requieren estos datos.
Eso sí, recuerda que el archivo .htpasswd debe estar almacenado en una carpeta por encima del directorio raíz y que se encuentre en el directorio que quieres proteger.
Por otro lado, si quieres usar WordPress, el archivo wp-config.php almacena la dirección de nuestra base de datos y la propia base de datos con su nombre de usuario y contraseña. Para evitar el acceso a estos archivos puedes establecer reglas específicas que nieguen la entrada a cualquier persona ajena a tu negocio.
Pero no es la única carpeta que debería preocuparte, dado que las carpetas plugins y uploads contienen mucha información sobre tu web y nadie debería poder entrar ahí sin tu permiso. Una buena forma de evitarlo es creando redirecciones hacia tu página principal.
4. Bloquear direcciones IP
También puedes utilizar un archivo .htaccess con una determinada configuración que excluya todas las direcciones IP que quieras excepto aquellas que te interese mantener con acceso a tu servidor. Se suele aplicar, por ejemplo, en aquellas empresas que quieren limitar la entrada a una web únicamente desde su Intranet.
5. Evitar el hotlinking de imágenes
Seguro que has visto en más de una ocasión páginas web que están subiendo imágenes y que al cabo de unos segundos acaban mostrando la palabra “hotlink” escrita. Esto se produce cuando se enlaza a un archivo de una tercera web que está alojada en otro servidor, derivando en más tráfico de datos hacia el dueño de dicha web, sin desearlo.
Esta práctica no está bien vista porque pueden darse situaciones comprometidas de que quites la imagen y no se vea en su portal, o si quieres que tenga problemas con sus clientes o visitantes, podrías poner imágenes no aptas para todos los públicos.
Si lo que quieres es no tener que llegar a este punto, te recomendamos que primeramente hables con la persona que está haciendo hotlink para que deje de hacerlo, o bien utilices algún plugin en el repositorio de WordPress.
Esto no acaba aquí…
Hemos hablado de 5 de las tareas más importantes que puedes realizar mediante .htaccess, pero no se detiene aquí la maquinaria, ya que puedes hacer mucho más:
- Determinar qué codificación van a tener los caracteres que uses en tus documentos, prestando especial atención a los acentos, ya que siempre dan problemas si no empleas la codificación adecuada
- Cambiar la zona horaria del servidor, si te hace falta usar otro huso horario o no se ha cambiado automáticamente
- Aumentar la memoria límite de PHP, debido a que las aplicaciones PHP tienen un límite que determina el espacio máximo que pueden ocupar los scripts en un servidor. Por norma se establece “128M”, refiriéndose a un límite de 128 megabytes, pero se puede cambiar según necesidad.
Conclusión
Antes de empezar a añadir o modificar reglas dentro de .htaccess, es importante avisar de que cualquier error al escribir los comandos (errores tipográficos, no respetar espacios, no poner paréntesis o corchetes al final de cada línea, etc), provocaría que Apache no interprete correctamente en su software el archivo .htaccess que quieres usar para proteger tu página web y se produzcan errores de funcionamiento en el servidor, quedando fuera de servicio.
Otro truco que puede servirte cuando trabajes con .htaccess es que, a medida que vayas añadiendo nuevas líneas con comandos, insertes a su lado comentarios que te guíen cuando dejes de trabajar y tengas que retomarlo, o bien si finalizas el proyecto y necesitas modificar alguna línea en concreto. Estos comentarios te permitirán localizar rápidamente los comandos sin tirarte mucho tiempo indagando a dónde ir.
Como siempre, desde GoDaddy sugerimos que, antes de ponerte manos a la obra, realices una copia de seguridad de todos los archivos de tu web, incluido el .htaccess original. Así, si por cualquier razón tienes problemas y te cargas el contenido publicado previo cambio del .htaccess, no perderás la información de tu web y podrás recuperarla en pocos segundos.
Imagen de Unsplash