Наткнулся на что-то странное, чего я раньше не видел. Клиент ведет довольно активный блог и использует Akismet (платный) для защиты от спама. По крайней мере, один раз в день они сообщают о спам-комментариях, которые правильно помечены как спам, но не могут быть удалены с панели администратора, щелкая Empty Spam
или вручную выбирая запись и пытаясь удалить ее.
Я посмотрел на это и заметил, что в записи БД есть comment_post_ID
оф 0
, что, как я должен предположить, означает, что оно не прикреплено ни к какому посту. Я, очевидно, могу удалить их вручную из БД (и это работает просто отлично), но не нашел никакой информации о том, что это может быть.
Я заменил основные файлы WP (думая, что это может быть проблемой безопасности), а также заново сгенерировал соли / ключи в wp-config.php
файле без каких-либо изменений.
Любые мысли будут огромной помощью. Спасибо!
Обновить
Хотя это могло произойти, я не уверен, является ли это результатом взлома InMotion .
Вот что было сделано:
- Изменены пароли FTP, MySQL
- Создан новый пользователь БД, назначенный базе данных
- Обновлены соли / ключи в
wp-config.php
- Изменены все пароли пользователей WP
- Переустановленные основные файлы WordPress
У Акисмета нет идей по этому поводу (не вините их), так как этот настойчив.
/wp-comments-post.php
. Следующие несколько строк должны уничтожить скрипт, если только у вас нет сообщения с идентификатором '0'. И это озадачивает, поэтому это комментарий, а не попытка ответа.comment_id_not_found
или другимcomment_save_pre
(ранее у него был плагин Easy Comment Uploads, но он не опубликован и не может найти оригинальные файлы - теперь с помощью комментариев к изображениям ). Журналы доступа еще не выявили каких-либо совпадений для этих IP-адресов (которые также не совпадают), но поиски подтверждают, что они являются спамом (если это не было очевидно, уже было).Ответы:
Прости, я не могу комментировать здесь, но я постараюсь помочь.
Функция wp_handle_comment_submission, передающая публикацию комментариев, содержит точную проверку для post_id:
т. е. (1) он проходит или (2) комментарий был добавлен, кроме способа размещения комментариев по умолчанию.
Для (1) - проверьте, что запись с id = 0 не существует в таблице db, wp_posts. Иногда сбои в базе данных вызывают наличие таких записей
источник