comment_post_ID 0 (no se puede eliminar del tablero)

9

Me encontré con algo un poco extraño que no había visto antes. Un cliente tiene un blog bastante activo y usa Akismet (pago) para protegerse contra el correo no deseado. Al menos una vez al día, informan un comentario de spam que está marcado correctamente como spam, pero que no se puede eliminar del panel de administración haciendo clic Empty Spamo seleccionando manualmente la entrada e intentando eliminarla.

Investigué esto y noté que la entrada de DB tiene un comment_post_IDde 0, lo que tendría que asumir significa que no está adjunto a ninguna publicación. Obviamente, puedo eliminarlos manualmente del DB (y funciona bien), pero no he encontrado ninguna información sobre lo que podría ser.

Reemplacé los archivos WP principales (pensando que podría ser un problema de seguridad) y también volví a generar las sales / claves en el wp-config.phparchivo sin ningún cambio.

Cualquier pensamiento sería de gran ayuda. ¡Gracias!

Actualizar

Si bien esto puede haberse originado, no estoy seguro de si es el resultado del hack de InMotion .

Esto es lo que se ha hecho:

  • FTP cambiado, contraseñas MySQL
  • Nuevo usuario de DB creado, asignado a la base de datos
  • Sales / claves actualizadas en wp-config.php
  • Cambió todas las contraseñas de usuario de WP
  • Vuelva a instalar los archivos principales de WordPress

Akismet no tiene ideas sobre esta (no las culpe) ya que esta es persistente.

Zach
fuente
2
Si se publica un comentario sin una ID de publicación, la ID se establece en '0'. Busque en /wp-comments-post.php. Sin embargo, las siguientes líneas deberían eliminar el script, a menos que tenga una publicación con ID '0'. Y eso es desconcertante, por eso es un comentario y no un intento de respuesta.
s_ha_dum
Sí, este es un rascador de cabeza seguro
Zach
1
Otra idea. Tome la IP de los spammers de la base de datos y búsquela en los registros del servidor. ¿Qué url ha solicitado el spammer?
Ralf912
1
haga un grep en comment_save_pre y vea si hay una función que altere los datos antes de guardarlos. No es posible agregar un comentario sin un número de publicación (abierto a comentarios), por lo que debe cambiarse después de la recepción. Algunas preguntas: ¿Existen tipos de publicaciones personalizadas? ¿Utiliza ajax para enviar comentarios (complementos)? ¿Estás usando complementos de captcha?
Patriek el
1
Hola a todos: aprecio el continuo interés en este. En algunas respuestas: No hay plugins que se enganchan en cualquiera comment_id_not_foundo comment_save_pre(tenían un plugin llamado Easy Comentario subidos con anterioridad, sino que es inédito y no puede encontrar los archivos originales - ahora usando Comentario Imágenes ). Los registros de acceso aún no han revelado ninguna coincidencia para estas direcciones IP (que tampoco coinciden), pero las búsquedas confirman que son spam (si eso ya no era obvio).
Zach

Respuestas:

1

Lo siento, no puedo comentar aquí, pero intentaré ayudar.

La función de envío de comentarios de la función wp_handle_comment_submission contiene la comprobación exacta de post_id:

    $post = get_post( $comment_post_ID );

    if ( empty( $post->comment_status ) ) {
         ...
       return error_happened; 
    }

es decir, (1) pasa o (2) se agregó un comentario que no sea la forma predeterminada de publicar comentarios.

Para (1): compruebe que la publicación con id = 0 no existe en db, wp_posts table. Algunas veces las fallas en la base de datos causan la presencia de tales registros

WowPress.host
fuente