Blog

  • A
  • B
  • C

Archivo de Tech

WordPress: c贸mo combatir el spam

Una vez que inaugures tu blog en WordPress, vas a estar impaciente por empezar a recibir algunos comentarios de tus lectores. Por eso te vas a decepcionar mucho cuando descubras que el spam no es algo exclusivo del correo electr贸nico, sino que tambi茅n puede contaminar los comentarios de un blog. 驴C贸mo hacer para prevenirlo? A continuaci贸n tres 煤tiles herramientas para luchar contra esta plaga:

Akismet: se trata de un plugin creado por Automattic, la misma empresa que desarrolla WordPress. Es una de las herramientas m谩s efectivas para filtrar el spam que llega a tu blog, y lo mejor de todo es que viene incluido con la instalaci贸n de WordPress. Lo 煤nico que ten茅s que hacer para conseguir el c贸digo de activaci贸n del plugin es crear una cuenta en WordPress.com, el servicio de blogs hosteados por la misma empresa. Dentro de la opci贸n MyAccount/Edit Profile encontrar谩s un c贸digo API que deber谩s incluir en las opciones del plugin, luego de activarlo desde la opci贸n correspondiente.

Anti-spam Image: este plugin agrega en el formulario de los comentarios un casillero con una imagen que representa a una palabra, que el comentarista deber谩 escribir. Este sistema se conoce como captcha y lo utilizan muchos servicios web y redes sociales para impedir spam y registraciones autom谩ticas. De todas formas, hay robots de spam lo suficientemente avanzados como para interpretar las im谩genes y pasar por alto este sistema, pero a煤n as铆 la cantidad de spam se reduce notablemente. Para visitar el sitio oficial del plugin hacer clic aqu铆.

Challenge: con una filosof铆a similar al captcha, lo que hace este plugin es proponerle al comentarista un 鈥渄esaf铆o鈥 en forma de un sencillo c谩lculo matem谩tico, o alguna pregunta muy f谩cil de cultura general. De esta manera, los robots no pueden saber de qu茅 se trata el desaf铆o y fracasan en su intento de dejar spam. Lo desaf铆os se pueden configurar a gusto en las opciones del plugin, que se puede bajar desde aqu铆.

9•09

Actualizaci贸n PHP 4 / PHP 5

Hace 1 mes se lanz贸 la 煤ltima versi贸n de la rama 4 de PHP, siendo PHP 4.4.9 la versi贸n m谩s grande que va a haber por este camino.
Todo futuro desarrollo se va a hacer en PHP5.

Los servicios de elserver.com te ofrecen la posibilidad de elegir cu谩l de las dos versiones quer茅s usar, ambas incluyen una serie importante de m贸dulos adicionales as铆 como Zend Optimizer y eAccelerator.

Si leyeron el post sobre el MySQL Slow Query Log con atenci贸n, vieron que anticipamos una actualizaci贸n general de toda la red de servicios. Vamos a estar llevando todo la plataforma instalada a PHP 4.4.9 y PHP 5.2.6 con todos los m贸dulos actualmente disponibles y varios m谩s.

Asimismo vamos a elevar los l铆mites por defecto en cuesti贸n de tama帽o m谩ximo por POST y de RAM por proceso. PHP viene por defecto con 8MB, a partir de esta actualizaci贸n, vamos a brindar 64MB de RAM por proceso por defecto.

Tambi茅n van a poder elegir entre distintas opciones de php.ini, con/sin register_globals o utilizando eAccelerator, ionCube u otras extensiones.

Aprovechando estas tareas, es momento de solicitar cualquier m贸dulo especial que quieran agregar.

MCrypt? Soporte para IMAP? TLS/SSL?

Es el momento de pedir :)

Nuevo Servicio: MySQL Slow Query Log

Dicho y hecho, hemos agregado el nuevo servicio de reporte sobre las consultas SQL de tus bases de datos.

Antes de entrar en detalle quiero se帽alar que desde el equipo de Desarrollo estamos profundamente indignados con la cantidad de respuesta que tuvo el post anterior respecto de los 3 comentarios que nos dejaron en el prelanzamiento de estos nuevos reportes. Qu茅 pas贸 con los tecn贸filos ?

En fin.

Los molesto con que ingresen a su GridPanel y miren la secci贸n MySQL -> Registro de Consultas. Se van a encontrar con un listado d铆a a d铆a, base por base, de todas las consultas SQL que sus sitios hayan ejecutado que hayan superado 1 segundo de ejecuci贸n. Pueden ver varios datos asociados a cada consulta, realizar b煤squedas por cualquier cadena de texto y lo que es mejor la informaci贸n se actualiza una vez por minuto, no luego de varias horas.

Cada segundo que ven ah铆 es un segundo que sus usuarios tuvieron que esperar as铆 que es una excelente herramienta para optimizar un sitio!

Una guia muy r谩pida de como optimizar una consulta SQL

Imag铆nense una base de datos como una estanter铆a llena de libros. Cada libro de la estanter铆a es una tabla.
Cada p谩gina del libro es un registro (a fines pr谩cticos, sepan que esto es solo una analog铆a)

Si les pido que me busquen en qu茅 p谩gina empieza el cap铆tulo 2 del libro una forma es abrirlo, y mirar p谩gina por p谩gina, una por una, hasta encontrar una p谩gina que diga “CAPITULO 2″. Me van a decir, el capitulo 2 empieza en la p谩gina 40.

Ahora bien, lo m谩s probable es que el libro tenga un 铆ndice al principio y mirando solamente el 铆ndice y sin mirar el resto del libro me puedan decir tambi茅n que el capitulo 2, efectivamente empieza en la p谩gina 40.

Cuando trabajamos con bases de datos el concepto es exactamente el mismo. Si guardamos muchos registros (p谩ginas), tengamos presente que cuando le pedimos al motor de MySQL que nos traiga un resultado va a tener que leer p谩gina por p谩gina, la tabla (libro) entero hasta encontrar todo lo que le pedimos.

Pero si armamos un 铆ndice, los resultados van a ser mucho m谩s r谩pidos!

La gran mayor铆a de las consultas que van a encontrar en el Slow Query Log de MySQL tienen que ver con esto. No siempre, pero dir铆a que un 95% de los casos. Y muchas veces un peque帽o indice en una columna de datos determinada puede generar enormes diferencias. Hoy mismo trabajamos con un cliente para reducir una consulta de 180 segundos a 0.01 segundos con 2 铆ndices!

Entonces lo que tenemos que hacer es:

1. Identificar las consultas lentas (esto lo hacemos por vos ;)
2. Ejecutar la consulta anteponiendo la cl谩usula EXPLAIN.

Por ejemplo si la consulta es “SELECT * FROM usuarios WHERE cumpleanos = ’2008-25-10′
Ejecutamos lo siguiente: “EXPLAIN SELECT * FROM usuarios WHERE cumpleanos = ’2008-25-10′

Nos va a dar algo parecido a:

+–+————+———-+——+—————+——-+——–+——-+——-+————-+
| id | select_type | table 聽 聽聽聽聽 | type聽 | possible_keys | key 聽 聽聽 | key_len | ref 聽 聽聽 | rows 聽聽 | Extra聽聽聽 聽 聽 聽聽 聽 |
+–+————+———-+——+—————+——-+——–+——-+——-+————-+
|聽 1 | SIMPLE聽聽聽聽聽 | usuarios聽聽 | ALL聽 | NULL聽聽聽聽 聽 聽 聽 聽聽聽 | NULL |聽聽聽 NULL | NULL | 19063 | Using where |
+–+————+———-+——+—————+——-+——–+——-+——-+————-+

3. Crear los 铆ndices adecuados (imaginarse: que columna tendr铆a que leer para filtrar lo que me piden?)

y con un simple “ALTER TABLE usuarios ADD INDEX indice1 (cumpleanos);” la cosa cambia:

+–+————+———-+——+—————+———-+———+——-+—-+————-+
| id | select_type | table 聽 聽聽聽聽 | type聽 | possible_keys | key 聽 聽聽聽聽聽聽聽聽 | key_len | ref 聽 聽 聽聽 | rows 聽聽 | Extra聽聽聽聽 聽 |
+–+————+———-+——+—————+———-+———+——-+—-+————-+
|聽 1 | SIMPLE聽聽聽聽聽 | usuarios聽聽 | ref聽聽聽聽 | indice1聽聽聽聽聽聽聽聽聽聽聽聽 | indice1 聽 聽聽 |聽聽聽 聽 聽聽聽聽 8 聽 | const 聽聽 | 1 聽 聽 | Using where |
+–+————+———-+——+—————+———-+———+——-+—-+————-+

Si se fijan van a ver que la cantidad de registros (rows/p谩ginas) analizadas pas贸 de 19063 (la cantidad de usuarios que tengo a 1. Mucho, pero mucho m谩s r谩pido.

4. Probar nuevamente con un EXPLAIN. Si los resultados no son satisfactorio pueden eliminar el 铆ndice mediante el comanto ALTER TABLE usuarios DROP INDEX indice1.

Con estos pasos van a lograr que sus sitios funcionen mucho m谩s r谩pido. Y si sus registros de consultas lentas est谩n vac铆os, quiere decir que est谩n haciendo las cosas bien :) (o que las tablas son muy chicas!)

Hay muchas herramientas para este tipo de tareas como el esta, esta o esta otra.

Eso es todo!

pd. Estamos trabajando ahora en una actualizaci贸n general de todas las instalaciones de PHP en versi贸n 4 y versi贸n 5 en todos nuestros servidores. Vamos a incluir nuevos m贸dulos, l铆mites de memoria y upload m谩s amplios y la posibilidad de elegir entre varias configuraciones php.ini diferentes. Est茅n atentos para dentro de poco :)

4•09

MySQL Slow Query Log | Pre-Release

Estamos terminando el desarrollo de esta propuesta de Jos茅 Mar铆a Pando, queremos comentarles un poco al respecto antes de lanzarlo.

Se trata de una nueva secci贸n al Panel de Control donde se puede ver el registro de Slow Query Log de MySQL de todas las bases de datos de sus cuentas de Web Hosting.

La informaci贸n se muestra actualizada una vez por minuto y adem谩s generamos un reporte diario con un resumen con informaci贸n de cada consulta mayor a 1 segundo indicando cantidad de repeticiones, tiempo total consumido, registros examinados, tiempo en locks y usuarios de acceso.

En una primera implementaci贸n, esta informaci贸n va a estar disponible con un historial de 7 d铆as.

Esto es tan s贸lo un adelanto, en escasos d铆as van a poder (ab)usar de este servicio en el Panel :)

Y ya que los tenemos leyendo: tenemos mucha funcionalidad no documentada (lo sabemos, y estamos escribiendo mucho para subsanarlo). Por ejemplo, sab铆an que agregando un Dominio Alias como “*.tudominio.com” se puede tener subdominios WildCard en cualquier cuenta ? Ideal para dar p谩ginas personales a usuarios, o para un WordPress MU

Nuevo Servicio de Backup. Si! Gratis! ;)

Quiero compartir algunos de los 煤ltimos desarrollos sobre la plataforma de servicios que todav铆a no tuvieron la exposici贸n merecida, sobre los cuales estamos orgullosos de poder brindar.

En todos nuestros planes de Grid Hosting (Grid 1.0, Grid 2.0 y MultiCuenta) adem谩s del espacio incluido, incluimos sin cargo adicional un servicio de respaldo de informaci贸n. Por seguridad interna, siempre hemos mantenido backups de los datos de nuestros clientes, pero hace unas semanas habilitamos una interfaz web para poder accederlos de forma autom谩tica.

SnapShots - 10 Backups Web para todos tus datos

Todos nuestros clientes pueden aprovechar ahora, para todo su contenido Web:

  • 10 copias completas de todos los contenidos Web, una por d铆a.
  • Informaci贸n de cantidad de datos y archivos modificados de un d铆a a otro (entre backups)
  • Restauraciones totales o parciales de los datos guardados en cuesti贸n de minutos
  • Posibilidad de restaurar a carpetas distintas de la original (ideal para hacer un duplicado de algo ya instalado!)

Viendo los backups disponibles

Nos han solicitado que agregemos la posibilidad de generar un archivo Zip o Tar.gz para que se pueda descargar todo junto, y estamos trabajando para agregar esa funcionalidad tambi茅n.

Tambi茅n pensamos agregar la posibilidad de ver una lista completa de archivos modificados entre un backup y otro. Creo que esto 煤ltimo va a ser especialmente 煤til para saber “qu茅 hay de nuevo” en un sitio administrador por varias personas a la vez.

Lo m谩s importante de todo esto es que las 10 copias se encuentran l贸gica y f铆sicamente separadas de los datos originales para aumentar la seguridad ante cualquier eventualidad (uno esperar铆a que un RAID 6TP o un RAID 1 no falle, pero nadie va a decir que no a un poco m谩s de protecci贸n!)

Pero atenci贸n! Este servicio -solamente- se presta para contenidos Web. Nunca olviden de hacer backups peri贸dicos de sus bases de datos!

Paginas: « 1 2 3 4 5 6 7 8 9 10 ...13 14 15 Siguiente
viagra