He hablado muchas veces del fichero .htaccess
, un archivo que, aunque no pertenece a la instalación de WordPress, es necesario para que funcionen muchas cosas que seguro necesitaremos, desde los enlaces permanentes hasta la protección de nuestras carpetas.
Pero como andaba todo algo disperso he pensado que, en estos tiempos que corren, no está de mas un recordatorio y, por supuesto, un resumen.
Pero antes vamos a ver lo que ya había por si te has perdido algo, luego escribimos las líneas para que tu .htaccess asegure tu WordPress.
¿Hacemos una recopilación? …
- Qué es el hotlinking y como protegerte (también con .htaccess claro)
- Protege tu .htaccess
- Restringir acceso al Escritorio por IP
- Cómo banear por IP o dominio desde .htaccess
- Redirección por .htaccess mientras actualizas
- Evitar spam blogs (splogs) en BuddyPress y WPMU mediante .htaccess
- Evita comentarios spam desde .htaccess
- Modifica el fichero .htaccess desde el Escritorio
- Como mostrar los mensajes de error de WordPress
- Regala un error 403 a los curiosos
- Proteger la carpeta wp-admin
- Y hasta publiqué un .htaccess perfecto para WordPress
# Asegurando WordPress # Desactivar la firma de servidor ServerSignature Off # Desactivar el listado de carpetas y archivos Options All -Indexes # Protegiendo el mismo fichero htaccess <files .htaccess> order allow,deny deny from all </files> # Protegiendo htaccess de manera extrema <files ~ "^.*\.([Hh][Tt][Aa])"> order allow,deny deny from all satisfy all </files> # Protegiendo wp-admin por IP AuthUserFile /dev/null AuthGroupFile /dev/null AuthName “Access Control” AuthType Basic order deny,allow deny from all # IP cuando estoy en casa allow from xx.xxx.xxx.xx # IP cuando estoy en el trabajo allow from xx.xxx.xxx.xxx allow from xxx.xxx.xxx.200 # IP de otro usuario con permisos allow from xxx.xxx.x.xx # Protegiendo el fichero wpconfig.php <files wp-config.php> order allow,deny deny from all </files> # Protegiéndonos de los commentarios spam <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-comments-post\.php* RewriteCond %{HTTP_REFERER} !.*tublog.com* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) ^http://%{REMOTE_ADDR}/$ [R=301,L] </IfModule> # Desactivando el hotlinking con un mensaje de aviso <IfModule mod_rewrite.c> RewriteEngine On RewriteCond %{HTTP_REFERER} !^$ RewriteCond %{HTTP_REFERER} !^http://www.xyz.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.xyz.com$ [NC] RewriteCond %{HTTP_REFERER} !^http://xyz.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://xyz.com$ [NC] RewriteCond %{HTTP_REFERER} !google. [NC] RewriteCond %{HTTP_REFERER} !msn. [NC] RewriteCond %{HTTP_REFERER} !live. [NC] RewriteCond %{HTTP_REFERER} !yahoo. [NC] RewriteCond %{HTTP_REFERER} !gravatar. [NC] RewriteCond %{HTTP_REFERER} !search?q=cache [NC] RewriteRule .*\.(jpg|jpeg|gif|png|bmp)$ - [F,NC] </IfModule> # Baneo por IP <Limit GET POST> order allow,deny deny from xx.xx.xxx.xxx /aquí pones la IP a banear allow from all </Limit> # Baneo por dominio RewriteEngine On Options +FollowSymlinks RewriteCond %{HTTP_REFERER} dominio_a_banear\.com [NC] RewriteRule .* - [F] # Evitar splogs RewriteEngine On RewriteCond %{REQUEST_METHOD} POST RewriteCond %{REQUEST_URI} .wp-signup.php* RewriteCond %{HTTP_REFERER} !.*miwordpressmu.com.* [OR] RewriteCond %{HTTP_USER_AGENT} ^$ RewriteRule (.*) http://disney.com/ [R=301,L]
Unos detalles …
- La «serversignature» es un texto en los mensajes de error que indica la versión de Apache que usamos e incluso el email del administrador
- ¡Ojo!, no pegues directamente eso en tu .htaccess, que hay muchas líneas de ejemplo
Ea, a ir seguro por esas webs, que hay mucho Apache suelto 😉
¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!
Hola Fernando, gracias por el aporte.
Una pregunta: En los apartados evitar splogs y hotlinks los dominios que das de ejemplo: xyz.com y disney.com Los debemos cambiar por nuestro dominio?
Saludos
el de disney sería para la redirección, a donde mandarles 🙂
Claro, lo suyo es cambiarlos
Ok, entendido.
Gracias
Hola Fernando, muy bueno el post, pero tengo una duca don el detalle N° 2
"¡Ojo!, no pegues directamente eso en tu .htaccess, que hay muchas líneas de ejemplo"
A que te refieres con eso ?
duca = duda
Me refiero a que hay IPs que son de pega, con xxxx.xx.xx y esas cosas
Me refiero a que hay IPs que son de pega, con xxxx.xx.xx y esas cosas
Muchas gracias, buena información. Siempre es bueno estar protegido para todo.
Muchas gracias Fernando, este tipo de post nos vienen muy bien a los que te seguimos desde hace relativamente poco por eso de tener todo junto.
Fernando, puedes poner un modelo de redirección 301 para enlaces permanentes digamos de una estructura %postname%.html a simplemente %postname%; he buscado información en varios lugares y nada de nada. Muchas gracias.
Te lo busco pero con plugins lo haces sin problemas, incluso el Platinum SEO detecta cambios de permalinks y hace la redirección transparente. Lo digo por si te urge.
No he utilizado el Platinum SEO, utilizo el SEO ultimate, pero preferiría hacerlo mediante htaccess, al menos no me urge hasta que salga la versión 3 de WP; por los cambios en permalinks que publicaste.
No he utilizado el Platinum SEO, utilizo el SEO ultimate, pero preferiría hacerlo mediante htaccess, al menos no me urge hasta que salga la versión 3 de WP; por los cambios en permalinks que publicaste.
No he utilizado el Platinum SEO, utilizo el SEO ultimate, pero preferiría hacerlo mediante htaccess, al menos no me urge hasta que salga la versión 3 de WP; por los cambios en permalinks que publicaste.
Hola, soy muy novato en esto de wordpress y siguiendo algunos tutoriales que encontrado para instalar los permalinks en wordpres me sale un mensaje de actualizar el .htaccess, pero no se en donde se encuentra este archivo o si quehay que crearlo en que parte va este archiuvo creado, es para un instalacion local
Yo ando ahora mismo con el mismo problema que tu cris Asch, y llevo ya varias horas con lo mismo… por cierto, uso mac OS Lion
Solucionado el problema… da permisos a la carpeta contenedora de tu web o blog y se te creara en oculto
Bueno jesus gracias por tu respuesta, ya di los permisos pero aun asi no me aprecio el dichiso archivo, asi que de tanto estar lideando una solucion fue crear el archivo y ponerlo en la raiz en donde esta el blog,
A mi no me aparece ninguna de mis imágenes alojadas en mi servidor desactivando el hotlinking:
# Desactivando el hotlinking con un mensaje de aviso
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://www.xyz.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.xyz.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xyz.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://xyz.com$ [NC]
RewriteCond %{HTTP_REFERER} !google. [NC]
RewriteCond %{HTTP_REFERER} !msn. [NC]
RewriteCond %{HTTP_REFERER} !live. [NC]
RewriteCond %{HTTP_REFERER} !yahoo. [NC]
RewriteCond %{HTTP_REFERER} !gravatar. [NC]
RewriteCond %{HTTP_REFERER} !search?q=cache [NC]
RewriteRule .*.(jpg|jpeg|gif|png|bmp)$ – [F,NC]
Que estaré haciendo mal ?
ya lo he solucionado, me faltaba agregar mi dominio !
Hola, Desde meses estoy buscando como permitir el hotlinking a facebook para poder compartir enlaces con imágenes de mis publicaciones. Desgraciadamente a día de hoy sólo he encontrado como denegar el acceso pero no como permitirlo.
Tengo la siguiente codificicación en .httaccess que me permite compartir enlaces con imagenes en Google+ pero no en Facebook:
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ – [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
Espero que alguien me pueda ayudar a solucionar el problema.
Gracias de antemano!
Otro que llega nuevo y con estoy muy pez, rogaria que alguien me echara un cable con este fichero … (peque y lo puse tal cual) y claro la pagina dejo de verse, menudo susto, luego ya lo quite, pero claro no tengo nada y necesito activar esta proteccion, ¿alguien que me eche un cable?
nadie que me eche un cable?
Si se te queda en blanco al poner eso en el htaccess, es por que tu hosting no lo permite.
No te preocupes, WordPress es muy seguro, esto es adicional, pero no necesario u obligatorio.
Veo que haz cambiado NukeET por WordPress, Bien echo!!
hola buenas noches.. como hago para evitar que se cambie el achivo .htaccess?, lo anterior debido a algun proceso esta ubicando unas redirecciones a sitios con software malicioso.. lo he cambiado y vuelve y lo modifica
el problema lo tengo en http://www.cnpcomunicando.com.co
Hola
habría alguna posibilidad de poderse descargar algún .htaccess ya configurado para torpes?
Una duda
Solo se puede tener un httdocs, o se pueden crear dentro de los subdominios (carpetas) donde tenga instalado wordpress en mi hosting?
Me llevo algunas líneas que me estaban faltando en mi template…
Gracias Fer!