El archivo htaccess es un fichero especial, popularizado Apache que permite definir diferentes directivas de configuración para cada directorio (con sus respectivos subdirectorios) sin necesidad de editar el archivo de configuración principal de Apache. Es decir, podremos modificar directivas a nivel servidor sin tener que entrar en el propio servidor a configurarlas. Hay que decir que todo tiene un límite. Las principales empresas de hosting tienen capadas ciertas sentencias para que no puedan ser ejecutadas por htaccess y no poner en peligro, así, a los demás clientes de la máquina.
En este artículo te mostramos 10 códigos para el archivo htaccess muy, pero que muy útiles…
Códigos para el archivo htaccess muy, pero que muy útiles
A continuación te mostramos 10 códigos para el archivo htaccess.
Denegar el acceso a todos los archivos htaccess
El código de a continuación niega el acceso a todos los archivos htaccess que tengas en tu instalación de WordPress. De esta manera puedes evitar que la gente pueda ver la configuración de tu servidor web.
# Denegar el acceso a todos los archivos htaccess <Files ~ "^.*\.([Hh][Tt][Aa])"> Order Allow,Deny Deny from all Satisfy all </Files>
Proteger la configuración de WordPress
El fichero wp-config.php contiene la configuración de tu WordPress, incluyendo información tan importante como las credenciales de tu base de datos. Puedes, o bien negar el acceso a dicho fichero a todo el mundo, o bien que solo el admin pueda acceder a él.
Si quieres hacer esto último, descomenta la línea de # Allow from xx.xx.xx.xx (es decir, quita el caracter #) e inserta la dirección IP del admin en lugar de xx.xx.xx.xx.
# Proteger wp-config <Files wp-config.php> Order Allow,Deny # Allow from xx.xx.xx.xxx # Allow from yy.yy.yy.yyy Deny from all </Files>
Prevenir ataques DDoS
WordPress soporte XML-RPC por defecto, que es una interfaz que hace posible la publicación de contenido de forma remota. Es una gran característica, pero también una de las mayores vulnerabilidades de WordPress ya que los hackers suelen aprovecharla para llevar a cabo ataques DDoS.
Si no utilizas esta característica, lo mejor es desactivarla. Al igual que hemos hecho antes, puedes añadir excepciones descomentando el # Allow from xx.xx.xx.xx y añadiendo la IP del admin.
# Prevenir ataques DDoS <FilesMatch "^(xmlrpc\.php)"> Order Deny,Allow # Allow from xx.xx.xx.xxx # Allow from yy.yy.yy.yyy Deny from all </FilesMatch>
Proteger el área de administración
También es muy buena idea proteger el admin de WordPress dando acceso únicamente a los administradores. A continuación tienes el código para llevarlo a cabo. Por favor, no olvides modificar la línea del «Allow xx.xx.xx.xx» y agregar las IPs de los administradores.
# Proteger admin de WordPress por IP AuthUserFile /dev/null AuthGroupFile /dev/null AuthName "Panel de control" AuthType Basic <LIMIT GET> Order Deny,Allow Deny from all Allow from xx.xx.xx.xxx Allow from yy.yy.yy.yyy </LIMIT>
Impedir el listado de directorios
Muchos sitios web desarrollados con WordPress no deshabilitan el listado de directorios, lo que se traduce en que cualquiera puede navegar entre las carpetas y archivos de la instalación, incluyendo imágenes, documentos, plugins… Esto que, a priori puede parece algo banal, es un gran agujero de seguridad.
Por suerte, solo necesitas una sola línea de código para impedir esto. Este código devuelve un error 403 a cualquier que intente acceder a los directorios de tu instalación.
# Impedir el listado de directorios Options -Indexes
Bloquear a spammers y a bots
Hay veces que, debido al volumen de spam, lo mejor es restringir al acceso a ciertas direcciones IP. Este snippet de código te proporciona una manera sencilla de bloquear a los spammers y a los bots que ya tengas fichados.
# Bloquear a spammers y a bots <Limit GET POST> Order Allow,Deny Deny from xx.xx.xx.xxx Deny from yy.yy.yy.yyy </Limit> Allow from all
Impedir el hotlinking de imágenes
Aunque no son una amenaza a la seguridad de tu sitio, el hotlinking de imágenes es algo muy molesto. No solo se utilizan tus imágenes sin tu permiso, sino que encima lo hacen a tu costa incrementando el tráfico. Con estas pocas líneas de código, puedes proteger tu sitio del hotlinking de imágenes.
# Prevents image hotlinking RewriteEngine on RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tusitioweb.com [NC] RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?tusitioweb2.com [NC] RewriteRule \.(jpe?g?|png|gif|ico|pdf|flv|swf|gz)$ - [NC,F,L]
Crear redirecciones permanentes
Puedes gestionar redirecciones permanentes mediante tu archivo htaccess. Lo primero que tienes que hacer es añadir la antigua URL, y después la nueva URL a donde quieres redirigir la antigua URL. Creo que me he explicado con claridad, ¿verdad? Jejeje…
# Redirecciones permanentes Redirect 301 /antiguaurl1/ http://tusitioweb.com/nuevaurl1 Redirect 301 /antiguaurl2/ http://tusitioweb.com/nuevaurl2
Enviar a los visitantes a una página de mantenimiento
Ya os hablamos de esta técnica en este artículo. Antes que nada, debes crear una página de mantenimiento aparte (algo así mantenimiento.html por ejemplo) y después asociarla a esta regla de htaccess. En sí, lo que hace este código es poner tu WordPress en modo mantenimiento.
# Redigir a pagina de mantenimiento <IfModule mod_rewrite.c> RewriteEngine on RewriteCond %{REMOTE_ADDR} !^123\.456\.789\.000 RewriteCond %{REQUEST_URI} !/maintenance.html$ [NC] RewriteCond %{REQUEST_URI} !\.(jpe?g?|png|gif) [NC] RewriteRule .* /maintenance.html [R=503,L] </IfModule>
Habilitar la caché del navegador
El archivo htaccess no es simplemente útil por razones de seguridad y para crear redirecciones, también se pueden llegar a hacer multitud de cosas con él, como por ejemplo gestionar la caché. El código de más abajo sirve para almacenar cierto tipo de archivos en el navegador del usuario, para que así la velocidad de nuestro sitio web se incremente puesto que no tendrán que cargarlos en posteriores visitas.
# Habilitar la cache del navegador <IfModule mod_expires.c> ExpiresActive On ExpiresByType image/jpg "access 1 year" ExpiresByType image/jpeg "access 1 year" ExpiresByType image/gif "access 1 year" ExpiresByType image/png "access 1 year" ExpiresByType text/css "access 1 month" ExpiresByType application/pdf "access 1 month" ExpiresByType text/x-javascript "access 1 month" ExpiresByType application/x-shockwave-flash "access 1 month" ExpiresByType image/x-icon "access 1 year" ExpiresDefault "access 2 days" </IfModule>
Y hasta aquí nuestro artículo en el que te mostrábamos 10 códigos para el archivo htaccess muy, pero que muy útiles. Espero que te haya gustado y, si te ha resultado útil, no dudes en compartirlo en redes sociales. El icono de la imagen destacada es obra de Nikita Kozin. ¡Nos leemos!