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.