comment_post_ID 0(ダッシュボードから削除できません)


9

今まで見たことのない奇妙なものに出くわしました。クライアントはかなりアクティブなブログを持っており、スパムから保護するためにAkismet(有料)を使用しています。少なくとも1日に1回、スパムとして正しくマークされているスパムコメントを報告していますがEmpty Spam、エントリをクリックするか手動で選択して削除しようとしても管理ダッシュボードから削除できません。

私はこれに見て、DBエントリが持っていることに気づいたcomment_post_ID0、私はそれがすべての投稿に添付されていない手段を想定する必要があると思いますどれを、。私は明らかにそれらをDBから手動で削除することができます(そしてそれは正常に動作します)が、これが何であるかについての情報を見つけていません。

コアWPファイルを置き換え(セキュリティ上の問題である可能性があると考えています)、wp-config.phpファイル内のソルト/キーを変更せずに再生成しました。

どんな考えでも大きな助けになるでしょう。ありがとう!

更新

これは原因である可能性がありますが、それがInMotionハックの結果であるかどうかはわかりません。

これが行われたことです:

  • FTP、MySQLパスワードの変更
  • データベースに割り当てられた新しいDBユーザーを作成しました
  • のソルト/キーを更新 wp-config.php
  • すべてのWPユーザーパスワードを変更しました
  • コアWordPressファイルを再インストール

Akismetはこれがしつこいので、これについてのアイデアはありません(非難しないでください)。


2
投稿IDなしでコメントが投稿された場​​合、IDは「0」に設定されます。見てください/wp-comments-post.php。ただし、IDが「0」の投稿がない限り、次の数行でスクリプトが強制終了されます。そしてそれは不可解です。そのため、これはコメントであり、回答の試みではありません。
s_ha_dum

うん-これは確かに頭難問だ
ザック

1
別のアイデア。スパマーのIPをDBから取得し、サーバーログで検索します。スパマーが要求したURLはどれですか?
Ralf912

1
comment_save_preでgrepを実行し、データが保存される前にデータを変更する関数があるかどうかを確認します。(コメント可)投稿番号なしでコメントを追加することはできないため、受付後に変更する必要があります。いくつかの質問:カスタム投稿タイプはありますか、コメント(プラグイン)を送信するためにajaxを使用しますか?captchaプラグインを使用していますか?
Patriek

1
みなさん、こんにちは。これに対する継続的な関心に感謝します。いくつかの応答:comment_id_not_foundまたはにフックするプラグインはありませんcomment_save_pre(以前はEasy Comment Uploadsと呼ばれるプラグインがありましたが、公開されておらず、元のファイルを見つけることができません-現在はコメント画像を使用しています)。アクセスログでは、これらのIPアドレス(これも一致しない)との一致を明らかにする必要はありませんが、検索によってそれらがスパムであることが確認されます(これが既に明らかでない場合)。
Zach

回答:


1

申し訳ありませんが、ここではコメントできませんが、お手伝いさせていただきます。

コメントの投稿を処理するwp_handle_comment_submission関数には、post_idの正確なチェックが含まれています。

    $post = get_post( $comment_post_ID );

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

つまり、(1)を通過する、または(2)コメントを投稿するデフォルトの方法以外にコメントが追加された。

(1)の場合-id = 0の投稿がdb、wp_postsテーブルに存在しないことを確認します。データベースに障害が発生すると、そのようなレコードが存在することがあります

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.