comment_post_ID 0 (impossibile rimuovere dalla dashboard)


9

Ho attraversato qualcosa di un po 'strano che non avevo mai visto prima. Un client ha un blog piuttosto attivo e utilizza Akismet (a pagamento) per proteggersi dallo spam. Almeno una volta al giorno, segnalano un commento di spam che è correttamente contrassegnato come spam, ma non può essere rimosso dalla dashboard di amministrazione facendo clic Empty Spamo selezionando manualmente la voce e tentando di eliminarla.

Ho esaminato questo aspetto e ho notato che la voce DB ha un comment_post_IDdi 0, che dovrei supporre significhi che non è collegata a nessun post. Posso ovviamente rimuoverli dal DB (e funziona benissimo), ma non ho trovato alcuna informazione su cosa potrebbe essere.

Ho sostituito i file WP di base (pensando che potrebbe essere un problema di sicurezza) e ho anche rigenerato i sali / le chiavi nel wp-config.phpfile senza alcuna modifica.

Qualsiasi pensiero sarebbe di grande aiuto. Grazie!

Aggiornare

Sebbene ciò possa essere derivato, non sono sicuro che sia il risultato dell'hacking di InMotion .

Ecco cosa è stato fatto:

  • FTP modificato, password MySQL
  • Creato nuovo utente DB, assegnato al database
  • Sali / chiavi aggiornati wp-config.php
  • Modificate tutte le password degli utenti WP
  • File WordPress core reinstallati

Akismet non ha idee su questo (non incolparli) poiché questo è persistente.


2
Se un commento viene pubblicato senza un ID post, l'ID viene impostato su "0". Guarda dentro /wp-comments-post.php. Le prossime righe dovrebbero comunque uccidere lo script, a meno che tu non abbia un post con ID '0'. E questo è sconcertante, motivo per cui questo è un commento e non un tentativo di risposta.
s_ha_dum,

Sì - questo è sicuramente un grattacapo
Zach

1
Un'altra idea Prendi l'IP degli spammer dal DB e cercalo nei registri del server. Quale URL ha richiesto lo spammer?
Ralf912,

1
fai un grep su comment_save_pre e vedi se c'è una funzione che modifica i dati prima che vengano salvati. Non è possibile aggiungere un commento senza un numero di post (aperto ai commenti), quindi è stato modificato dopo la ricezione. Alcune domande: ci sono tipi di post personalizzati, usi ajax per inviare commenti (plugin)? Stai usando plugin captcha.
Patriek,

1
Ciao a tutti - apprezzate il continuo interesse per questo. Alcune risposte: nessun plug-in che si aggancia a uno comment_id_not_foundo comment_save_pre(aveva precedentemente un plug-in chiamato Easy Comment Uploads, ma non è stato pubblicato e non è possibile trovare i file originali, ora utilizzando Comment Images ). I registri di accesso devono ancora rivelare eventuali corrispondenze per questi indirizzi IP (che non corrispondono), ma le ricerche confermano che si tratta di spam (se non fosse già ovvio).
Zach,

Risposte:


1

Mi dispiace non posso commentare qui, ma cercherò di aiutarti.

La funzione wp_handle_comment_submission che gestisce la pubblicazione dei commenti contiene un controllo esatto per post_id:

    $post = get_post( $comment_post_ID );

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

ovvero (1) passa attraverso o (2) è stato aggiunto un commento diverso dal modo predefinito di pubblicare commenti.

Per (1) - controlla che il post con id = 0 non esista nella tabella db, wp_posts. A volte gli errori nel database causano la presenza di tali record

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.