comment_post_ID 0 (não é possível remover do painel)

9

Me deparei com algo um pouco estranho que eu não tinha visto antes. Um cliente tem um blog bastante ativo e usa o Akismet (pago) para se proteger contra spam. Pelo menos uma vez por dia, eles estão denunciando um comentário de spam marcado corretamente como spam, mas não pode ser removido do painel do administrador clicando Empty Spamou selecionando manualmente a entrada e tentando excluí-la.

Analisei isso e notei que a entrada do banco de dados tem um comment_post_IDdos 0itens, que eu teria que assumir que não está anexada a nenhuma postagem. Obviamente, posso removê-los do banco de dados (e funciona muito bem), mas não encontrei nenhuma informação sobre o que poderia ser.

Substituí os arquivos principais do WP (pensando que pode ser um problema de segurança) e também gere novamente os sais / chaves no wp-config.phparquivo sem nenhuma alteração.

Qualquer pensamento seria uma grande ajuda. obrigado!

Atualizar

Embora isso possa ter ocorrido, não tenho certeza se é o resultado do hack do InMotion .

Aqui está o que foi feito:

  • Senhas de FTP e MySQL alteradas
  • Criou um novo usuário de banco de dados, atribuído ao banco de dados
  • Sais / chaves atualizados wp-config.php
  • Alteradas todas as senhas de usuário do WP
  • Arquivos WordPress principais reinstalados

Akismet está sem idéias sobre este (não os culpe), pois este é persistente.

Zach
fonte
2
Se um comentário for publicado sem um ID, o ID será definido como '0'. Olhe dentro /wp-comments-post.php. As próximas linhas devem matar o script, a menos que você tenha uma postagem com o ID '0'. E isso é intrigante, e é por isso que este é um comentário e não uma tentativa de resposta.
s_ha_dum
Sim - esta é uma cabeça-scratcher com certeza
Zach
1
Outra ideia. Pegue o IP dos remetentes de spam no banco de dados e procure-o nos logs do servidor. Qual URL o spammer solicitou?
Relf912
1
faça um grep em comment_save_pre e veja se há uma função que altera os dados antes de serem salvos. Não é possível adicionar um comentário sem um número de postagem (aberto a comentários), portanto ele pode ser alterado após a recepção. Algumas perguntas: Existem tipos de postagem personalizados, você usa o ajax para enviar comentários (plugins). Você está usando plugins captcha.
Patriek 25/11/12
1
Olá a todos - aprecio o interesse contínuo por este. Algumas respostas: Nenhum plug-in que se encaixa em um comment_id_not_foundou comment_save_pre(tinha um plugin chamado Easy Comment Uploads anteriormente, mas não está publicado e não pode encontrar arquivos originais - agora usando as Imagens de Comentário ). Os logs de acesso ainda precisam revelar correspondências para esses endereços IP (que também não correspondem), mas as pesquisas confirmam que são spam (se isso já não era óbvio, ha).
Zach

Respostas:

1

Sinto muito, não posso comentar aqui, mas vou tentar ajudar.

A função wp_handle_comment_submission entrega de postagem de comentários contém verificação exata para post_id:

    $post = get_post( $comment_post_ID );

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

ou seja, (1) ele passa ou (2) comentário foi adicionado, exceto a maneira padrão de postar comentários.

Para (1) - verifique se a postagem com id = 0 não existe no banco de dados db, tabela wp_posts. Às vezes, falhas no banco de dados causam a presença desses registros

WowPress.host
fonte