{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Аникин: заметки с тегом Wordpress",
    "_rss_description": "Блог об администрировании Linux, BSD и не только",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/anikin.pw\/tags\/Wordpress\/",
    "feed_url": "https:\/\/anikin.pw\/tags\/Wordpress\/json\/",
    "icon": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884",
    "authors": [
        {
            "name": "Петр Аникин",
            "url": "https:\/\/anikin.pw\/",
            "avatar": "https:\/\/anikin.pw\/pictures\/userpic\/userpic@2x.jpg?1478690884"
        }
    ],
    "items": [
        {
            "id": "67",
            "url": "https:\/\/anikin.pw\/all\/zaschita-ot-ddos-ataki-botnetom-vzlomannyh-wordpress-saytov\/",
            "title": "Защита от DDoS атаки ботнета взломанных Wordpress сайтов",
            "content_html": "<p>Столкнулся с атакой взломанных wordpress говносайтов на один из клиентских серверов. Клиент пожаловался на недоступность сайта, сайт отдавал ошибку gateway timeout. Зашёл на сервер, вижу<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">load average: 145.44, 114.78, 78.83<\/code><\/pre><p>Странно что сервер ещё отвечал при такой нагрузке. Смотрю лог недоступного виртуалхоста и вижу кучу запростов типа<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">GET \/index.php HTTP\/1.0&quot; 200 37648 &quot;-&quot; &quot;WordPress\/4.5.2; http:\/\/52.39.213.67; verifying pingback from 191.96.249.54&quot;<\/code><\/pre><p>Блокируем ботов по ключевому слову WordPress<\/p>\n<pre class=\"e2-text-code\"><code class=\"\"># iptables -A INPUT -p tcp --dport 80 -m string --string 'WordPress' --algo kmp -j DROP<\/code><\/pre><p>Проблема решена.<\/p>\n",
            "date_published": "2016-06-17T14:48:34+03:00",
            "date_modified": "2016-06-17T18:28:53+03:00",
            "tags": [
                "ddos",
                "Wordpress",
                "атака",
                "защита"
            ],
            "_date_published_rfc2822": "Fri, 17 Jun 2016 14:48:34 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "67",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "9",
            "url": "https:\/\/anikin.pw\/all\/udalenie-reviziy-zapisey-v-wordpress-bez-plaginov-iz-konsoli\/",
            "title": "Удаление ревизий записей в wordpress без плагинов из консоли.",
            "content_html": "WordPress по умолчанию сохраняет ревизии записей в базе mysql. В большинстве случаев эти ревизии не нужны, но они существенно замедляют работу базы mysql и увеличивают её размер.<p>\r\n\r\nВ первую очередь отключим сохранение ревизий. Откроем файл wp-config.php в папке сайта. И добавим в него строку:<p>\r\n\r\n<code>define('WP_POST_REVISIONS', false);<\/code><p>\r\n\r\nПеред выполнением работ с базой сделаем дамп базы на случай непредвиденных последствий.<p>\r\n\r\n<code># mysqldump -u пользователь_mysql -p имя_базы_wordpress > dump.sql<\/code><p>\r\n\r\nСистема спросит пароль пользователя mysql.<p>\r\nМы сделали дамп, теперь можно работать с базой. Если что-то пойдёт не так, мы всегда можем восстановить её из дампа. Подключимся к серверу mysql<p>\r\n\r\n<code># mysql -u пользователь_mysql -p<\/code><p>\r\n\r\nСистема спросит пароль пользователя mysql, логинимся. Всё, мы в консоли mysql.<p>\r\n\r\n<a href=\"https:\/\/anikin.pw\/pictures\/uploads\/Snimok-e`krana-ot-2013-10-20-101103.png\"><img src=\"https:\/\/anikin.pw\/pictures\/uploads\/Snimok-e`krana-ot-2013-10-20-101103-300x95.png\" alt=\"Снимок экрана от 2013-10-20 10:11:03\" width=\"300\" height=\"95\" class=\"alignnone size-medium wp-image-18\" \/><\/a><p>\r\n\r\nВыберем базу с которой будем работать, соответственно нам нужно знать название базы с которой работает wordpress.<p>\r\n\r\n<code>mysql> USE имя_базы_wordpress;<\/code><p>\r\n\r\nУдаляем метаданные<p>\r\n\r\n<code>mysql> DELETE FROM wp_postmeta WHERE post_id IN (SELECT ID FROM wp_posts WHERE post_type = ‘revision’ AND post_name LIKE ‘%revision%’);<\/code><p>\r\n\r\nУдаляем таксономию<p>\r\n\r\n<code>mysql> DELETE FROM wp_term_relationships WHERE object_id IN (SELECT ID FROM wp_posts WHERE post_type = ‘revision’ AND post_name LIKE ‘%revision%’);<\/code><p>\r\n\r\nТеперь удаляем сами ревизии.<p>\r\n\r\n<code>mysql> DELETE FROM wp_posts WHERE post_type = ‘revision’ AND post_name LIKE ‘%revision%’;<\/code><p>\r\n\r\nИ в конце выполняем оптимизацию таблицы<p>\r\n\r\n<code>mysql> OPTIMIZE TABLE wp_posts;<\/code><p>\r\n\r\nВсё, ревизии удалены. Проверяем работоспособность сайта.",
            "date_published": "2013-10-20T11:14:31+03:00",
            "date_modified": "2017-02-19T16:27:41+03:00",
            "tags": [
                "mysql",
                "revisions",
                "Wordpress",
                "оптимизация таблиц",
                "удаление ревизий"
            ],
            "_date_published_rfc2822": "Sun, 20 Oct 2013 11:14:31 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "9",
            "_e2_data": {
                "is_favourite": false,
                "links_required": null,
                "og_images": []
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}