Contenido

Wordpress 2.9.2, actualización de seguridad leve

16 Feb

+ 1

Wordpress nos acaba de avisar de una nueva actualización, en concreto de la 2.9.2, que soluciona un fallo de seguridad detectado por Thomas Mackenzie. El fallo detectado posibilita que los usuarios registrados visualizar información sobre posts de otros usuarios desde la papelera. Si es el caso en el que necesitas tener activado el modo “paranoia” de seguridad no lo dudes y actualiza, si crees que puedes pasar, espera a la siguiente versión que parece que solventará alguna cosilla más. [Descargar]

Wordpres para Android oficial liberado

2 Feb

+ 7

Wordpress ha anunciado hoy que la versión oficial que nos permitirá publicar desde nuestros Android’s se puede descargar y empezar a usar. Al igual que hizo para el iPhone y los terminales Symbian.

postimg
(Ver Imagen)

Para los usuarios que hemos usado WpToGo, nos sonará bastamte ya que se ha usado como base para esta nueva versión, añadiendo una serie de nuevas mejoras como:

  • Creación y mantenimiento de páginas
  • Comentarios con imágenes de Gravatar
  • Posibilidad de responder comentarios

Continua —>

Primeras imágenes de Wordpress 3.0 Multisite

20 Ene

+ 15

La nueva versión de Wordpress se está perfilando, y el cierre de Wordpress MU es la muestra del camino que se pretende seguir, una versión unificada que permita disponer de las ventajas de MU sobre un único Wordpress. De ahí que las siguientes imágenes de la versión 3.0 Multisite, nos recuerden tanto a Wordpress MU.

wordpress-3.0-network-settings
(Ver Imagen)

Podemos ver la configuración de los diferentes blogs que podemos tener en la misma instalación de Wordpress. Nunca he sido partidario de que unieran las dos plataformas, pero visto que lo van a hacer igualmente habrá que ir buscándole la gracia.

Wordpress 2.9.1

5 Ene

+ 0

Wordpress 2.9.1 ha visto la luz, despues de una serie de parches para solucionar algunos problemas, la versión estable ve la luz.[Descargar]

Digging into Wordpress, libro disponible

30 Dic

+ 1

Juan Andrés Milleiro me avisa via Twitter de que Digging into Wordpress ya está disponible para comprar. Se trata de un libro con todo lo que puedes llegar a usar con Wordpress recogido y muy bien explicado.

digging-into-wordpress
(Ver Imagen)

En el podremos ver, desde como configurar una instalación de Wordpress hasta como optimizar la base de datos, pasando por conocer la anatomía un theme o como extender la funcionalidad de Wordpress… basicamente todo lo que hemos ido viendo a lo largo de los años aquí en un libro de más de 400 páginas a todo color.

digging-into-wordpress-anatomy-theme
(Ver Imagen)
digging-into-wordpress-commonly-used
(Ver Imagen)
digging-into-wordpress-loop
(Ver Imagen)

Existen dos modalidades que nos permite adquirir el libro en formato PDF o en formato impresion (además incluye la versión PDF), dependiendo de cual elijamos el precio variará.

  • Versión PDF ($27)
  • Versión Impresa ($67)

Via

Wordpress 2.9.1 RC1

30 Dic

+ 3

Como ya avanzamos Wordpress 2.9 iba a recibir una actualización que corrigiera una serie de fallos detectados. Esta versión, la RC1, nos acerca a la versión 2.9.1.[Descargar]

Como crear tu propio Widget para Wordpress

23 Dic

+ 0

Sampedro de Rutarelativa me envia un artículo que ha publicado sobre como crear un widget para Wordpress sacado de un caso real que usan en su web. Sin duda una buena base para afrontar la nueva API de Widgets.

Wordpress 2.9.1 está al caer

23 Dic

+ 14

Al parecer esta nueva versión va a durar poco, si, menos aún de lo que vienen durando últimamente. Al parecer han detectado 3 fallos que hacen sea necesario generar una versión nueva y volver a molestar al personal.

Los fallos detectados

Para solucionar estos fallos, tenemos un parche para solucionar los problemas sin tener que actualizar todo nuestro Wordpress, que muy amablemente los chicos de Semiologic nos han unido. Simplemente son unos ficheros que se ubicarán en el directorio wp-includes/ de nuestro Wordpress.

La versión 2.9.1

La nueva versión, que podría ver la luz en breve, no solo corregirá estos problemas, sino que solventará otros 17 errores menores que han sido ya detectados y se están solucionando para esta nueva versión.

Señores!, estamos en la web 2.0, el usuario aporta contenido… y también ayuda a depurar las aplicaciones sociales. Menos mal que el tiempo de respuesta para solucionar problemas es similar al de publicación de versiones :D

Wordpress 2.9 disponible para descargar

19 Dic

+ 11

Ya hemos ido viendo como la versión 2.9 de Wordpress iba madurando poco a poco con nuevas funcionalidades y cosas realmente interesantes. Pues ahora ya podemos usarla en nuestros sitios web. Wordpress 2.9, “Carmen” (en honor a Carmen McRae, una vocalista de Jazz), puedes instalarla descargandola desde aquí o actualizarla desde el panel de administración de tu Wordpress.

Truco del campo oculto antispam para Wordpress más fácil todavía

4 Dic

+ 13

Este artículo hace ya más de un año que comencé a escribirlo y hoy que he tenido unos minutos para repasarlo y modificar un poco el código lo termino.

Hace ya mucho tiempo, Jose Ramón (Manz) publicó en Emezeta un sistema bastante ingenioso para capear el problema del SPAM en nuestros blogs.

El sistema

antispam3
(Ver Imagen)

El sistema, se basa en pensar de forma dual a la hora de implementar el formulario de comentarios de tu blog (que apartir de este momento, va a ser Wordpress), y barajar la idea de que un robot pueda rellenar los campos automáticamente haciendo que sus comentarios entraran como un comentario normal. Akismet, y demás plugins antispam, tienen una gran lista de URL’s, agentes de usuarios, emails e IP’s que comprueban para comprobar que un robot es malicioso o no, pero estos sistemas, como ya bien sabemos, no son del todo eficaces. Por eso, hemos de engañar al robot :D

¿Como lo engañamos?

La propuesta de Manz, es la de añadir un campo oculto (mediante CSS) con el nombre del elemento destinado para el nombre del usuario, en el caso de Wordpress usaremos author, con un valor X predefinido.

<input type="text" name="author" value="X" class="oculto" />
// CSS
input.oculto {display:none;}

Este campo, será el señuelo que los robots editarán automáticamente al procesar la página, principalmente por que es un <input /> y además se llama author, lo que hace complicado saber si esa página lo tiene implementado o es una trampa.

Para los usuarios, incluiremos un nuevo elemento <input /> con un nombre a nuestra elección.

<input name="nombrebueno" type="text" class="author" />

El usuario, verá este campo y será en el que introducirá su nombre de usuario. A simple vista podemos ver el problema que nos encontramos al realizar este cambio, el nombre del usuario siempre será X, ya que Wordpress está preparado para leer author como nombre de usuario, y evidentemente no conoce el campo nombrebueno que hemos creado nosotros.

Por este motivo hemos de modificar el código de Wordpress para añadir unas pocas líneas (voy a explicar como lo tenía yo antes de implementar la funcionalidad que veremos abajo):

wp-config.php
define("SPAM_CONTROL", "kaminitos"); // No sé por que puse eso...
wp-comment-post.php
$comment_author       = ( isset($_POST['author']) )  ? trim(strip_tags($_POST['author'])) : null;
$comment_author_email = ( isset($_POST['email']) )   ? trim($_POST['email']) : null;
$comment_author_url   = ( isset($_POST['url']) )     ? trim($_POST['url']) : null;
$comment_content      = ( isset($_POST['comment']) ) ? trim($_POST['comment']) : null;

// Añadimos el control del campo nuevo
if ($_POST["author"] != SPAM_CONTROL) die("SPAM");
$comment_author       = ( isset($_POST['secure']) )  ? trim(strip_tags($_POST['secure'])) : null;

Se puede hacer más sencillo, editando únicamente el fichero wp-comment-post.php, pero de esta forma tengo control sobre lo que aparece en el campo oculto.

Evidentemente, este sistema, me obliga a añadir esas dos líneas de código cada vez que actualizo Wordpress, lo que se convierte en algo, que aunque no es laborioso, es muy pesado. Para evitar tener que modificar el código de Wordpress en cada actualización, yo propongo este código.

Sistema antispam de campo oculto más cómodo :D

// Mensaje que mostramos a los SPAM
define('MESSAGE', 'SPAM!!!');
// Nombre del campo que usaremos para alojar el verdadero nombre del usuario
define('NOMBRE_CAMPO', 'secure');
// Clave única que será modificada por el bot
define('WP_ANTI_SPAM', 'kko');

add_filter('pre_comment_author_name', '_pre_comment_author_name');
function _pre_comment_author_name($comment_author_name = ''){
 // Devolvemos el nombre del autor sinó estamos pasando los campos necesarios
 if (!isset($_POST['author'], $_POST[NOMBRE_CAMPO])) return $comment_author_name;

 // Matamos el proceso
 if (isset($_POST['author']) && $_POST['author'] != WP_ANTI_SPAM) die(MESSAGE);

 // Cambiamos el nombre del author
 global $wpdb;
 return $wpdb->escape(trim(strip_tags($_POST[NOMBRE_CAMPO])));
}

function get_anti_spam_input($comment_author){
 return '<input type="hidden" name="'.NOMBRE_CAMPO.'" value="'.esc_attr($comment_author).'" />';
}

function anti_spam_input($comment_author){
 echo get_anti_spam_input($comment_author);
}

function get_author_input($comment_author){
 return '<input type="hidden" name="author" value="'.WP_ANTI_SPAM.'" />';
}

function author_input($comment_author){
 echo get_author_input($comment_author);
}

Este código, lo incluimos en el fichero functions.php de nuestro theme. Como vemos en la parte superior, tenemos 3 define() que nos permiten declarar 3 variablesconstantes que nos hará nuestro sistema más personalizable. Después, vemos una función que se aplica al filtro pre_comment_author_name en la que comprobamos que el campo oculto no ha sido modificado. En caso de detectar el cambio, matamos el proceso en ese mismo momento, mostrando el mensaje que hayamos definido previamente.

En caso de que el campo oculto no haya sido modificado, entonces reemplazaremos el nombre de usuario por el del campo visible para el usuario. Este sistema nos permite intercalar este proceso y hacer que en caso comentario válido, continúe sin ningún problema.

Modificar el theme

Después para facilitar el trabajo de modificación del theme, he añadido unos métodos para pintar (o devolver como cadena) los elementos <input /> que intervienen en este sistema. Usaremos, como siempre, el theme default de Wordpress, y usaremos únicamente el fichero comment.php del mismo.

Básicamente, el único cambio que tendremos que realizar es el cambio de esta línea:

<input type="text" name="author" id="author" value="<?php echo esc_attr($comment_author); ?>" size="22" tabindex="1" <?php if ($req) echo "aria-required='true'"; ?> />

Por estas dos

<?php
 author_input($comment_author);
 anti_spam_input($comment_author);
?>

Estos dos funciones se encargarán de pintar los elementos <input /> que vamos a necesitar. Evidentemente, si tu theme tiene estilos o clases aplicados a estos elemento tendrás que modificarlos en las funciones get_anti_spam_input() get_author_input() del fichero functions.php que hemos incluido antes.

Sencillo, ¿verdad? :D

Resultado

El resultado, os puedo garántizar que es 100% satisfactorio y que junto a Akismet el SPAM (por el momento) deja de ser un problema.