Posts Tagged ‘wordpress’

Solución al problema de RSS2

Monday, January 14th, 2008

Leyendo del blog de Leonardo Andrés Gallego, específicamente éste post encuentro la solución al problema que comenté de colocar acentos en los títulos de los post. La solución presentada es sencilla y se basa simplemente en remplazar las vocales acentuadas por sus correspondientes entidades HTML. Acá les dejo las entidades para las vocales acentuadas, aquí puede encontrar una referencia sobre las entidades HTML.

Entidades HTML
vocal entidad
á á
é é
í í
ó ó
ú ú

Respaldo de nuestro blog

Monday, January 7th, 2008

Por muchos motivos es muy recomendable respaldar nuestros archivos, especialmente si contamos con un sitio web, ya que cualquier problema que tengamos con el sistema de archivos, tendremos una copia de respaldo y podremos recuperar el servicio.

Otra ventaja de hacer respaldos es que si contamos con un blog propio, por ejemplo con Wordpress, estos contienen varias vulnerabilidades de seguridad muy conocidas que pueden ser aprovechados por crackers.

Si tenemos el blog sobre una plataforma GNU/Linux, podemos utilizar las herramientas que nos provee para hacer los respaldos y automatizarlos. Utilizaremos

  • Pdumpfs, para respaldar
  • Crontab, para automatizar

Crontab, viene ya en todas las plataformas GNU/Linux y Unix, por lo que sólo deberemos instalar pdumpfs. Antes que nada la explicación tiene en cuenta cualquier distribución basada en Debian, pero esto no implica que no se pueda ejecutar en otras, sólo hay que hacer cambios menores. Primero verificaremos que si lo tenemos instalado


# aptitude search pdumpfs
p   pdumpfs                         - a daily backup system similar to Plan9’s d
p   pdumpfs-rsync                   - pdumpfs extension using rsync

El comando busca todos los paquetes que concuerden con la cadena que le pasamos como parámetro, en este caso pdumpfs. Los paquete que concuerden se muestran en una lista, como se puede ver cada línea comienza con la letra p, que significa que el paquete no está en el sistema; si lo hubiésemos tenido instalado tendría el estado i, que se encuentra instalado.

Como el paquete lo tenemos en el estado p, vamos a instalarlo


#aptitude install pdumpfs

Pdumpfs es un programa muy sencillo, pero potente, al igual que el lenguaje en que fue desarrollado Ruby, escrito por Satoru Takabayashi. La sintaxis sería


pdumps [directorio-fuente] [directorio-destino]

Dentro del directorio destino se crea un directorio llamado YYYY/MM/DD, que indica el año, el mes y el día respectivamente en que ejecutamos el comando.

Por ejemplo para realizar el respaldo cree una carpeta backup en un disco que monté, para respaldos que se encuentra en /mnt/sdb1


#pdumpfs /var/www/blog /mnt/sdb1/backup

Ahora debemos automatizar el proceso, para eso bastará con editar nuestra tabla cron, que se encuentra /etc/crontab. Voy a indicar en la tabla que este proceso se ejecute todos los días a las 5:00 AM. Para esto hacemos


#echo "0 5 * * * root pdumpfs /var/www/blog /mnt/sdb1/backup >> /etc/crontab

Para mayor información sobre la sintaxis de la tabla cron consultar aquí.

Resultó muy sencillo, ahora vamos a hacer al proceso un poco más robusto. Es importante que mantegamos log sobre el proceso de respaldo y también log de los errores que podrían surgir. Esto se puede hacer agregando un par de parámetros más al ejecutar pdumpfs. Tendríamos que ejecutar este comando en vez del anterior o editar la tabla cron


#echo "0 5 * * * root pdumpfs /var/www/blog /mnt/sdb1/backup >/mnt/sdb1/backup/log/pdumpfs.log 2>/mnt/sdb1/backup/log/error.log" >> /etc/crontab

Aquí cree una nueva carpeta log dentro de la carpeta backup y indico que el archivo de log se llame pdumpfs.log. Luego indico que la salida de error estándar (indicada por el 2) se redirija a /mnt/sdb1/backup/log/error.log. Por lo tanto si hay error se escribirá en el archivo error.log.

Listo con esto tenemos un sistema de respaldo automatizado, algo que vale la pena comentar es que todos los archivos son copiados la primera vez que respaldamos, pero luego pdumpfs sólo copia los archivos nuevos o actualizados y los que no fueron cambiados los mantiene como links en duro de los archivos del respaldo anterior, esto produce una gran eficiencia en el uso de la memoria.

Spam, Spam, Spam, Spam, Spam…

Monday, December 3rd, 2007

Hoy me tome un rato para modificar el excelente plugin “Version 2.9.8 of Peter’s Custom Anti-Spam Image Plugin for WordPress”. Lo primero que hice fue modifcar las palabras de anti-spam con las que contaba, ya que eran estáticas y fáciles de romper por fuerza bruta, por lo tanto ahora las palabras se generan dinámicamente. Además esta palabra está formada por letras en minúscula y mayúsculas (y algunos signos especiales). También agregue un par de fuentes más, para que las letras resulten más “cripticas” :P. Y por último, hice un pequeño garabateo sobre la imagen resultante; una vez generada la imagen, dibujo lineas sobre está para dificultar un poco más el trabajo de los scripts spam, estás lineas son de colores al azar. El plugins usaba una función para obtener números al azar que no era muy óptima, la cambie por otra que hace lo mismo pero de una mejor forma. No he tenido tiempo para agregar el tratamiento de la imagen para descapacitados (al tocar sobre la misma se reproduce un archivo de sónido de cada letra de la que está compuesta la palabra de anti-spam), les prometo que para la próxima soluciono ese problemilla. Les dejo acá el plugin modificado, para aquellos interesados:

peters-custom-anti-spam-image-for-FireOrb.tar.gz

No es lo mejor de lo mejor, pero acepto cualquier propuesta. Espero que sea de su agrado. En estos momento lo tengo funcionando en infosofia. Fijense en la parte de los comentarios