Parche al error de Akismet 2.1.7 (actualizado)

El lector de Ayuda WordPress g30rg3_x, administrador/blogger de g30rg3x.com ha encontrado el posible error con la actualización del plugin Akismet en su versión 2.1.7. Según el mismo relata en los comentarios es debido a esto …

El problema se introdujo en este cambio (líneas 718/727)
http://plugins.trac.wordpress.org/changeset/61062/akismet/trunk/akismet.php

La solucion es obviamente quitar ese cambio…
o sea, cambiar la linea 727 que se encuentra con:

if ( ! ( isset( $_GET['recheckqueue'] ) || isset( $_POST['action'] ) ) )

Por

if ( !isset( $_GET['recheckqueue'] ))

Por ahora no puedo sacar un parche por que me encuentro viendo la repercusiones que causa este movimiento a WP 2.7 (para ver si rompo algo con la compatibilidad con WP 2.7).
Así que por mientras lo que lo necesiten un parche temporal para borrar sus miles de comentarios spam ahí lo tienen.

En la linea de ejemplo de la 727 no es $_POST['action'] si no $_REQUEST['action'] así que no se asusten si no ven ese POST xD…

Ahora corrigiendo mi parche, para mantener todavía así la compatibilidad para WP 2.7 sugiero en lugar de usar el parche anterior este…

Como siempre es cambiar la linea 727 por:
if ( ! ( isset( $_GET['recheckqueue'] ) || isset( $_GET['action'] ) ) )

Como ven solo estamos cambiando el REQUEST por GET.
La explicación “lógica” del fallo (para los que lo quieran comprender)…
El fallo ocurre debido a que al encontrarse definido action en una variable POST (cuando borramos o recuperamos) la tabla de verdad queda Falso Verdadero lo que da verdadero y como se niega se convierte este Verdadero en falso causando que en lugar de proceder con el borrado se ejecute el código de akismet_recheck_queue() evitando que el código de borrado y recuperado jamas se ejecute.

IMPORTANTE

Como el mismo dice, es mejor que no lo apliques a no ser que sea un verdadero problema para ti acumular spam «capturado» en su carpeta hasta que el equipo de Akismet lo solucione.

Por nuestra parte ya he comunicado a Automattic el problema y la posible solución, así que si sacan un parche esta noche es gracias a vosotros, y en concreto al fiera del código g30rg3_x 😉

VALORA Y COMPARTE ESTE ARTÍCULO PARA MEJORAR LA CALIDAD DEL BLOG…
(0 votos, promedio: 0)

¿Te gustó este artículo? ¡Ni te imaginas lo que te estás perdiendo en YouTube!

AVISO: Esta publicación es de hace 3 años o más. Si es un código o un plugin podría no funcionar en las últimas versiones de WordPress, y si es una noticia podría estar ya obsoleta. Luego no digas que no te hemos avisado.

11 comentarios en “Parche al error de Akismet 2.1.7 (actualizado)”

  1. Pingback: Bitacoras.com

  2. Mande otro mejor y con explicacion en la nota, checalo…

    por cierto me estoy fijando que se te fue un «)» que entro mal codificado como &#41 :P.

    Saludos

  3. si no se por que deberia ser
    esto

    if ( ! ( isset( $_GET[‘recheckqueue’] ) || isset( $_REQUEST[‘action’] ) ) )

    por
    if ( ! ( isset( $_GET[‘recheckqueue’] ) ) )

    sin la entiedad &#41

  4. Si se me fue…

    es un problema tratar de meter código sin que te lo «toquen demasiado», ya empece un poco la difusión de la corrección
    http://wordpress.org/support/topic/199866?replies=14#post-839883

    Asi como que me encuentro ahora elaborando el diff para ponerlo en el trac de akismet.

    Saludos fernando.
    PD: Por cierto no soy lector de ayuda wordpress xD, soy lector de planeta wordpress asi que te leo a través de el así como comento a veces con el usuario anonimo (U anonimos) o bien con mi nickname en este caso.

    Saludos

  5. Bien hecho compadre , que sepan que hay personal hispano que está alerta y encima, como tu, sabe dar soluciones 😉

    Y lo del anonimato no pasa nada, hasta en las mejores familias pasa 😀

    P.D.: si quieres quito lo de que eres lector, no problem 😉

  6. Pingback: Akismet 2.1.8 | Power

  7. Parece que ya está disponible la versión 2.1.8 con supuestamente este problema arreglado. ¿Alguien lo ha comprobado?

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

 

Ir arriba Ir al contenido