Какой-то иностранный спамер зарегистриновался на моем сайте и опубликовал свою спамную статью без модерации. Это при том, что у меня в настройках плагина wp-recall стоит премодерация публикаций.
Как он обошел модерацию админа?
Давайте подробности.
- Что за спамер - его метрики?
Как регался?
какая рега у вас стоит?
какие права на публикацию?
На момент его реги и публикации - выписку из логов давайте - это важно.
Спамер мог запись оставить через что угодно - и не сам WP-Recall. например через удаленную публикацию - на основе того же rest api или других ВП инструментов из ядра. Откуда такая уверенность?
Wordpress настройки: Членство: Любой может зарегистрироваться, Роль нового пользователя: Автор.
В настройках публикации плагина wp-recall стоит: Публикация разрешена: Авторам и старше, Модерация публикаций: отправить на модерацию.
Что такое метрики? Как узнать как зарегистрировался?
Мне на е-мейл пришло оповещение что зарегистрирован новый пользователь: Имя пользователя: zacharyoxenham5 E-mail: norachoe@yahoo.com А сегодня захожу на сайт и у меня там статья висит опубликованная не иностранном языке и с внешними ссылками.
По поводу последнего: "Спамер мог запись оставить через что угодно - и не сам WP-Recall. например через удаленную публикацию - на основе того же rest api или других ВП инструментов из ядра. Откуда такая уверенность?"
Я вообще не представляю, как оставил запись спамер, возможно и не через WP-Recall. Я не программист и не разбираюсь в этом, поэтому и попросила помощи.
nataliya.sergeevna сказал(а)
Что такое метрики? Как узнать как зарегистрировался?
например - в 10.05 произошла регистрация - смотрим в access.log сервера на это время какие записи.
в 11.05. была публикация - смотрим в access.log на это время какие записи.
только так можно примерно составить картину. Но не факт.
еще варианты останутся. Но начать надо с малого
Андрей CS сказал(а)
если в форме публикации плагина выставлена модерация, то опубликовать без модерации вряд ли выйдет, скорее всего, публикация прошла через что то другое в обход плагина.
логи не те, нужны логи доступа, которые ведутся на сервере, но если они отключены значит их нет.
Это печально, что плагин можно обойти.
Не подскажете, где именно искать логи на сервере?
nataliya.sergeevna сказал(а)
Это печально, что плагин можно обойти
На вашем сайте может существовать множество дыр, которые могут быть использованы для публикации, это вы должны понимать всегда.
На этом сайте используется форма публикации от wp-recall и ни разу не произошло неконтролируемой публикации.
Точное местоположение логов на вашем сервере вы можете уточнить в техподдержке вашего хостинга.
Нашла логи. Вот кусок на время регистрации спамера.
2a00:ab00:203:b::8 - - [09/Apr/2018:05:16:40 +0300] "POST /wp-cron.php?doing_wp_cron=1523240200.2605190277099609375000 HTTP/1.1" 200 - "http://igrango.ru/wp-cron.php?doing_wp_cron=1523240200.2605190277099609375000" "WordPress/4.9.4; http://igrango.ru" 94.68.10.80 - - [09/Apr/2018:05:16:36 +0300] "GET / HTTP/1.1" 200 84220 "http://igrango.ru/" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" 94.68.10.80 - - [09/Apr/2018:05:16:41 +0300] "GET /wp-login.php?action=lostpassword HTTP/1.1" 200 3340 "http://igrango.ru/wp-login.php?action=lostpassword" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:05:16:41 +0300] "GET /wp-login.php?action=register HTTP/1.1" 200 3723 "http://igrango.ru/wp-login.php?action=lostpassword" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:05:16:48 +0300] "POST /wp-login.php?action=register HTTP/1.1" 302 - "http://igrango.ru/wp-login.php?action=register" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:05:16:50 +0300] "GET /wp-login.php?checkemail=registered HTTP/1.1" 200 3741 "http://igrango.ru/wp-login.php?action=register" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 2a03:2880:1020:6fe5:face:b00c:0:8000 - - [09/Apr/2018:05:51:59 +0300] "GET /wp-content/uploads/2018/03/igra-kendi-krash.png HTTP/1.1" 200 49061 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" 2a03:2880:1011:1fe7:face:b00c:0:8000 - - [09/Apr/2018:05:51:59 +0300] "GET /wp-content/uploads/2018/03/vyzhit-sredi-zombi-2-isxod.jpg HTTP/1.1" 200 22701 "-" "facebookexternalhit/1.1 (+http://www.facebook.com/externalhit_uatext.php)" 2a00:ab00:203:b::8 - - [09/Apr/2018:06:39:26 +0300] "POST /wp-cron.php?doing_wp_cron=1523245166.6485919952392578125000 HTTP/1.1" 200 - "http://igrango.ru/wp-cron.php?doing_wp_cron=1523245166.6485919952392578125000" "WordPress/4.9.4; http://igrango.ru" 94.68.10.80 - - [09/Apr/2018:06:39:23 +0300] "GET /wp-login.php?checkemail=registered HTTP/1.1" 200 3741 "http://igrango.ru/wp-login.php?checkemail=registered" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" 94.68.10.80 - - [09/Apr/2018:06:39:28 +0300] "GET /wp-login.php HTTP/1.1" 200 3565 "http://igrango.ru/" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:06:39:29 +0300] "POST /wp-login.php HTTP/1.1" 302 - "http://igrango.ru/wp-login.php" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:06:39:30 +0300] "GET /wp-admin/ HTTP/1.1" 302 - "http://igrango.ru/wp-login.php" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:06:39:30 +0300] "GET / HTTP/1.1" 200 80965 "http://igrango.ru/wp-admin/" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:06:39:31 +0300] "GET /xmlrpc.php HTTP/1.1" 405 42 "http://igrango.ru/" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:06:39:32 +0300] "POST /xmlrpc.php HTTP/1.1" 200 179 "http://igrango.ru/xmlrpc.php" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:06:39:33 +0300] "GET /?p=1520 HTTP/1.1" 301 - "-" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:06:39:34 +0300] "GET /%ce%b1%ce%b8%ce%ae%ce%bd%ce%b1-%cf%84%cf%81%ce%bf%cf%87%ce%b1%ce%af%ce%bf-%cf%84%cf%81%ce%bf%cf%87%ce%b1%ce%af%ce%bf-%ce%b3%cf%81%ce%b1%cf%86%ce%b5%ce%af%ce%b1-%ce%bd%cf%84%ce%b5%cf%84%ce%ad%ce%ba/ HTTP/1.1" 200 65199 "http://igrango.ru/?p=1520" "Opera/9.80 (Windows NT 6.2; Win64; x64) Presto/2.12.388 Version/12.17" 94.68.10.80 - - [09/Apr/2018:06:39:35 +0300] "GET /%CE%B1%CE%B8%CE%AE%CE%BD%CE%B1-%CF%84%CF%81%CE%BF%CF%87%CE%B1%CE%AF%CE%BF-%CF%84%CF%81%CE%BF%CF%87%CE%B1%CE%AF%CE%BF-%CE%B3%CF%81%CE%B1%CF%86%CE%B5%CE%AF%CE%B1-%CE%BD%CF%84%CE%B5%CF%84%CE%AD%CE%BA/ HTTP/1.1" 200 65199 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.132 Safari/537.36" 198.143.164.51 - - [09/Apr/2018:06:39:37 +0300] "GET /%CE%B1%CE%B8%CE%AE%CE%BD%CE%B1-%CF%84%CF%81%CE%BF%CF%87%CE%B1%CE%AF%CE%BF-%CF%84%CF%81%CE%BF%CF%87%CE%B1%CE%AF%CE%BF-%CE%B3%CF%81%CE%B1%CF%86%CE%B5%CE%AF%CE%B1-%CE%BD%CF%84%CE%B5%CF%84%CE%AD%CE%BA/ HTTP/1.1" 200 65199 "http://blo.gs/ping.php" "ping.blo.gs/2.0" 2a00:ab00:203:b::8 - - [09/Apr/2018:06:39:33 +0300] "POST /wp-cron.php?doing_wp_cron=1523245173.6506760120391845703125 HTTP/1.1" 200 - "http://igrango.ru/wp-cron.php?doing_wp_cron=1523245173.6506760120391845703125" "WordPress/4.9.4; http://igrango.ru"
wp-login.php - это не в обход плагина wp-recall - а напрямую к вашему вордпрессу обращаются чтобы зарегаться. Плагин тут не причем.
Но вы можете поставить в общих настройках wp-recall (включив расширенные настройки) "Подтверждение регистрации пользователя" - тогда надо злоумышленнику подтверждать регистрацию будет. Это вариант.
xmlrpc.php - про него стоит много интересного в гугле почитать - и это опять же файл из ядра ВП. т.е. плагин wp-recall тут тоже не участвует. Он его не использует.
Вообще если в доме окна и двери и вы поставили одну дополнительную дверь (плагин) и эта дверь имеет замок - не значит что другие окна и двери защищены и через них влезть нельзя.
Почитайте тут
- по защите есть несколько советов.
И тут
А xmlrpc.php - запрещайте из htaccess файла доступ к нему. В гугле советы по нему найдите - это вне рамок поддержки плагина, т.к. не относится к плагину. Но направление я вам дал.
nataliya.sergeevna сказал(а)
Обязательно отключу регистрацию от Wordpress в админке.
- только после этого впишите сниппет (по первой ссылке) чтобы от WP-Recall рега работала. Ну и протестируйте - зарегистрировав тестового пользователя. Я так и делал на своих сайтах - помогает снизить спам регистрации
Otshelnik-Fm сказал(а)
Если вы хотите дать гостям публиковать - делайте. Но гость после первой публикации будет как бы регистрироваться.
Я бы дала возможность авторам публиковать, но когда ставлю Публикация разрешена Авторам и старше, то пользователь не может добавлять публикацию. Вылазит сообщение