форум общения родителей: forumroditeley.ru
Для владельцев вордпресса хуже нет, если взломали его сайт и нельзя понять как это все исправить.
Вы заходите на свой сайт на вордпрессе и видите такую вот надпись: HaCkEd By Mohamed Riahi
Поздравляю, вас только что поимели, то есть вас взломали.
Что делать, если выводится вот такая надпись HaCkEd By Mohamed Riahi и нет ваших тем? А ничего не надо делать в плане судорожных телодвижений. Не надо для начала лезть в админку, пытаться найти в черновиках те самые удаленные темы и попытаться как то восстановить.
Не делайте этого.
Для этого вам нужно зайти в панель управления сайтом в ваш хостинг или в ваш VDS. Затем идем в бэкапы, выбираем свой домен, свою базу данных галочками, но следует заметить особую важность, дату бэкапа выбирайте уверенно такую, если вы уверенны в ней и ничего не делали в тот день и все работало. Нажимаем СДЕЛАТЬ ВОССТАНОВЛЕНИЕ. И ждем) В зависимости от вашего хостинга или вдс, а также от размеров бд и файлов, в течении 5-10 минут, а то и за 2 минуты, все возвращается обратно как было. Теперь ваш сайт заработал!
Но.. чтобы поганцу снова не дать вас взломать, следует поставить плагины защиты на вордпресс, а именно плагин wp-cerber.
Этот плагин защиты умеет многое:
- изменить вход в админку на другую страницу
- блокировать спам комменты
- вносить в черный лист банов всех кто долбился в адрес логина по адресу файла wp-login.php
и много чего)
[показать]
Чтобы изменить другую страницу для входа в админку, придумайте любое слово на английском, например sun, lego, wow, way, let, zima. Я вам привел пример, чтобы не вбивать по памяти длинное слово на английском, проще и звучно выбрать короткое.
Кстати говоря, этот плагин чуть глюкает в плане и в ваших действий. Например, если вы заходите в указанную страницу этого плагина, а и не пускает вас в админку, выводя надпись: ваш лимит бла бла бла исчерпан и попробуйте зайти через бла бла бла времени -- тупо открываете фтп-клиент, заходите в свой сайт через файлезилла, доходите до этого плагина и удаляете в корне папки плагина все файлы, но заранее их сохранив себе. Сначала сохраняете все к себе на рабочий стол и затем все удалить. Открываете как обычно свой сайт/wp-login.php, заходите в админку. Затем опять кидаете файлы сохраненные у себя в сервер обратно, активируете снова плагин через админку и все. Затем нужно посмотреть какой айпи блокирует плагин. Смотрите свой и исключаете его из списка и ставить игнорить. Все.
[показать]
А вот можно посмотреть в яндексе по запросу HaCkEd By Mohamed Riahi, какие сайты взломаны....
И вот такая картинка выводится хакером, если вас взломали)))
[показать]
Но... это еще не все.
Обычно если даже стоит этот цербер, он блокирует REST API в /wp-json/wp/v2/users/, но разрабы уроды и сделали такие уязвимости так, что нам самим приходиться эти дырки латать. Даже цербер может пропустить, как это было в моем случае.
[показать]
Открываем свой robots.txt и вставляем вот такой код запретов:
| Код: |
|
disallow: /wp-json disallow: /oembed disallow: /embed |
Потом вам надо открыть functions.php своей темы и в самом конце вставить вот такой код защиты от эксплоита, с помощью которого хакер может редактировать ваш любой пост и загрузить/указать картинку:
| Код: |
|
// Отключаем REST API add_filter('rest_enabled', '__return_false'); // Отключаем фильтры REST API remove_action( 'xmlrpc_rsd_apis', 'rest_output_rsd' ); remove_action( 'wp_head', 'rest_output_link_wp_head', 10, 0 ); remove_action( 'template_redirect', 'rest_output_link_header', 11, 0 ); remove_action( 'auth_cookie_malformed', 'rest_cookie_collect_status' ); remove_action( 'auth_cookie_expired', 'rest_cookie_collect_status' ); remove_action( 'auth_cookie_bad_username', 'rest_cookie_collect_status' ); remove_action( 'auth_cookie_bad_hash', 'rest_cookie_collect_status' ); remove_action( 'auth_cookie_valid', 'rest_cookie_collect_status' ); remove_filter( 'rest_authentication_errors', 'rest_cookie_check_errors', 100 ); // Отключаем события REST API remove_action( 'init', 'rest_api_init' ); remove_action( 'rest_api_init', 'rest_api_default_filters', 10, 1 ); remove_action( 'parse_request', 'rest_api_loaded' ); // Отключаем Embeds связанные с REST API remove_action( 'rest_api_init', 'wp_oembed_register_route' ); remove_filter( 'rest_pre_serve_request', '_oembed_rest_pre_serve_request', 10, 4 ); |