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 Spam
ou selecionando manualmente a entrada e tentando excluí-la.
Analisei isso e notei que a entrada do banco de dados tem um comment_post_ID
dos 0
itens, 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.php
arquivo 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.
/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.comment_id_not_found
oucomment_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).Respostas:
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:
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
fonte