Есть ли в wordpress функция защиты $_GET[‘ ‘]

Содержание материала:

10 самых распространенных ошибок, которые делают разработчики на WordPress

Разработчики на WordPress в погоне за быстрыми результатами часто совершают одни и те же ошибки. Перед вами 10 советов, которые помогут с ними бороться.

Включайте режим отладки

Зачем использовать отладку, если код работает нормально? Отладка — это встроенная функция в WordPress, которая поможет отобразить все ошибки PHP, предупреждения и уведомления (включая устаревшие функции). С отключенной отладкой тяжело регистрировать нештатные ситуации, возникающие на сайте, что в конечном итоге может принести массу проблем. Кроме того, ошибки могут привести к существенному снижению скорости открытия страниц. Каждый раз, добавляя новый скрипт или пользовательский код в WordPress, включайте отладку (но не забывайте отключать её при введении новой функциональности в эксплуатацию).

Чтобы активировать режим отладки, нужно отредактировать файл wp-config.php в корневом каталоге установки WordPress:

Это не исчерпывающий список параметров конфигурации, которые можно использовать, но этой настройки должно хватить для решения большинства проблем на вашем ресурсе.

Не добавляйте все скрипты в верхнюю часть сайта

Хотя в WordPress есть множество популярных скриптов, многие разработчики добавляют дополнительные скрипты в wp_head . Это может привести к сильному снижению скорости загрузки страниц.

Решить эту проблему поможет очередность — удобный способ добавления скриптов и стилей для WordPress. Очередность используется для предотвращения возможных конфликтов плагинов и обработки зависимостей, которые могут возникать при использовании различных скриптов. В WordPress есть встроенные функции wp_enqueue_script и wp_enqueue_style , которые отвечают за выполнение скриптов и стилей соответственно. Основное отличие между этими двумя функциями заключается в том, что с wp_enqueue_script у нас есть дополнительный параметр, который позволяет переместить скрипт в подвал:

Если скрипт не нужен для рендеринга контента, мы можем смело перемещать его в нижнюю часть сайта. Таким образом страница будет быстро загружаться, а скрипт выполнится уже после полной загрузки контента.

9–10 ноября, Москва, беcплатно

Для того, чтобы проверить, насколько успешно вы провели эту или любую другую оптимизацию, воспользуйтесь одним из веб-чекеров — инструментов для сканирования и анализа сайтов.

Создавайте дочерние темы и не меняйте файлы движка

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

Чтобы создать дочернюю тему, поместите файл style.css в подкаталог папки дочерней темы и наполните подобным содержимым:

В приведенном выше примере создается дочерняя тема, основанная на теме «WordPress Twenty Sixteen». Важной строкой этого кода является слово Template , которое должно соответствовать имени каталога родительской темы, с которой вы клонируете шаблон.

Такие же принципы применяйте к основным файлам WordPress: не нужно изменять файлы движка, постарайтесь использовать функции и фильтры CMS так, чтобы ваши изменения не были перезаписаны после обновления. Подключаемые функции позволяют вам переопределить некоторые базовые функции, но этот подход используется всё реже и заменяется фильтрами. С фильтрами достигается тот же результат, что и с подключаемыми функциями: изменение вывода функций WordPress. Не забывайте добавлять в код if ( !function_exists() ) при использовании подключаемых функций, поскольку несколько плагинов, пытающихся переопределить одну и ту же подключаемую функцию без этой оболочки, будут приводить к фатальной ошибке.

Не используйте хардкодинг

Очень часто нам кажется, что проще вставить значение в код напрямую (например, ссылку), но в итоге время, затраченное на отладку и устранение проблем, которые возникают в результате таких действий, сильно возрастает. Лучше всего использовать функцию для генерации нужного нам результата динамически, что принесет меньше проблем в будущем.

Пример: вы переносите сайт с тестовой среды на хостинг с прописанными вручную значениями для всех ссылок (хардкодинг), в итоге вам придётся потратить больше времени на то, чтобы заставить его работать. Поэтому лучше использовать функции, аналогичные представленным ниже, для получения путей к файлам и генерации ссылок:

Другим плохим примером хардкодинга является запись пользовательских запросов. Например, в качестве меры безопасности мы меняем установленный по умолчанию префикс WordPress из wp_ на нечто более уникальное, например, wp743_ . Наши запросы не сработают, если мы когда-нибудь переместим наш сайт на WordPress, поскольку префиксы таблиц могут меняться между средами. Чтобы этого не произошло, мы можем ссылаться на свойства таблицы класса wpdb :

Обратите внимание, что в коде выше не используется значение wp_users , а имя таблицы мы получаем с помощью WordPress. Использование этих свойств для генерации имён таблиц поможет гарантировать корректный результат.

Не давайте постоянно индексировать ваш сайт

Индексация нужна, не так ли? Тем не менее при создании веб-сайта вы вряд ли хотите, чтобы поисковые системы индексировали его, пока вы не закончили работу над ним и не создали его структуру. Кроме того, если у вас есть тестовый сервер, на котором вы проводите обновления своего ресурса, вы не хотите, чтобы поисковые системы, такие как Google, индексировали эти повторяющиеся страницы. Когда есть несколько страниц с одинаковым контентом, поисковым системам сложно решить, какая версия более релевантна поисковому запросу. Поисковые системы наказывают сайты с повторяющимся контентом, и ваш сайт просядет в результатах поиска.

Как показано ниже, в настройках чтения WordPress есть флажок, который гласит: «Попросить поисковые системы не индексировать сайт» (хотя это не гарантирует, что поисковые системы отработают данный параметр):

Поэтому, если вы хотите надёжно предотвращать индексацию вашего сайта поисковыми системами, отредактируйте файл .htaccess и вставьте следующую строку:

Перепроверяйте работоспособность плагинов

Зачем проверять, включена ли функция плагина, если он активен? Конечно, в 99 % случаев это так, однако этот один процент может привести к тому, что ваш сайт будет выводить некоторые ошибки PHP. Чтобы этого не произошло, мы можем проверить, активен ли плагин, прежде чем использовать его функции. Если функция плагина вызывается через фронтенд, то нужно включить библиотеку plugin.php в код, чтобы вызвать функцию is_plugin_active() :

Этот метод обычно достаточно надёжный. Однако могут быть случаи, когда автор изменил имя основного каталога плагина. Более надёжным методом было бы проверить наличие класса в плагине:

Вообще, авторы не часто меняют имя класса плагина, поэтому лучше использовать этот подход.

Не загружайте слишком много ресурсов

Зачем выборочно загружать ресурсы для страниц? Нет веской причины загружать стили и скрипты для плагина, если этот плагин не используется на странице, на которой находится пользователь. Используя плагины только тогда, когда это необходимо, мы сможем существенно ускорить время загрузки страниц. Возьмем, например, сайт WooCommerce, где нам нужно, чтобы плагин загружался только на торговых страницах, что позволит снизить нагрузку на сайт. Для этого следует добавить следующий код в файл шаблона functions.php :

Сценарии также можно удалить с помощью функции wp_dequeue_script ($ handle) через дескриптор, с которым они были зарегистрированы. Аналогично wp_dequeue_style ($ handle) предотвратит загрузку таблиц стилей. Но, если это технически сложно для вас, можно установить Plugin Organizer, который обеспечивает выборочную загрузку плагинов на основе определенных критериев, таких как тип сообщения или имя страницы. Рекомендуется отключить любые кэширующие плагины, такие как W3Cache, чтобы изменения стали заметными.

Не оставляйте панель управления в верхней части сайта

Можно ли оставить панель администратора WordPress видимой для всех? Да, вы можете позволить своим пользователям получить доступ к страницам администратора. Но если вы хотите, чтобы ваш сайт выглядел профессионально, вы должны отключить панель администратора для пользователей и оставить её только для себя:

Этот код нужно вставить в файл functions.php вашей темы. Таким образом, панель будет отображаться только для администратора сайта. Используя current_user_can ($) , можно добавить пользователю любую роль, а также исключить его из панели управления.

Используйте фильтр GetText

Можно использовать CSS или JavaScript для изменения ярлыка кнопки, что с этим не так? Да, можно. Однако вы добавляете лишний код и тратите дополнительное время, чтобы отобразить кнопку, когда вместо этого вы можете использовать один из самых удобных фильтров в WordPress — gettext . Используя этот фильтр совместно с textdomain , мы можем изменять текст до загрузки страницы. Если изменяемый текст находится в теме, найдите строку кода load_theme_textdomain ($ domain) .

На примере WooCommerce рассмотрим, как изменить текст, который появляется для заголовка «Related Products». Вставьте следующий код в файл functions.php вашей темы:

Этот фильтр применяется к переведённому тексту с помощью функций интернационализации __() и __e() , если textdomain определен с помощью вышеупомянутых функций.

Меняйте значения для постоянных ссылок

По умолчанию WordPress использует строку запроса с идентификатором post , чтобы вернуть запрашиваемый контент. Такой формат ссылок будет неудобным для использования, кроме того, это может сказаться на индексации вашего ресурса поисковыми системами. Включение постоянных ссылок, например, в режим «Произвольно», поможет поднять ранжирование страниц, ведь там могут также находиться ключевые слова. Лучше всего это делать сразу после установки WordPress. Вы можете выбрать формат ссылок на экране «Настройки постоянных ссылок»:

Заключение

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

Защита сайта на WordPress примитивными методами

Примеры безопасности и защита сайта на WordPress от взлома путём простых, но малоизвестных или игнорируемых 10 способов сохранности данных.

Взлом блога и потеря результатов многолетних трудов за одну ночь — печальная реальность, с которой некоторым приходилось сталкиваться лично. Исследования показывают, что ежедневно взламываются 37 тысяч веб-сайтов, а поскольку на системе управления WordPress работают примерно 25,4% всех сайтов, можно не сомневаться, что каждый день взламываются тысячи сайтов на WordPress.

Когда у вас есть блог на WordPress, советов по сложным именам пользователей и паролям уже недостаточно. Одна заглючившая тема, неправильный плагин, неправильно защищенный файл могут привести к взлому блога.

Неопытны вы в WordPress или использовали платформу с момента её существования, эта статья опишет 10 практичных и эффективных способов обеспечения безопасности вашего блога, которые сможет реализовать каждый. Вы не найдете большинство из них в популярных статьях «как обезопасить свой блог», но однажды они могут спасти ваш сайт.

1. Отключите редактор WordPress Theme & Plugin

WordPress имеет удобную функцию, которая даёт владельцам сайтов большую гибкость, позволяя им настраивать и редактировать свои темы и плагины прямо с дашборд-панели WordPress, но эта функция устранена в большинстве блогов. С этой функцией малейшая ошибка может привести к сбою сайта и лишить вас же доступа к нему.

Хакеры могут легко вставить вредоносный код в вашу тему, чтобы получить доступ на сайт через бэкдор или даже полностью захватить его, получив контроль над учётной записью, имеющей достаточно привилегий для использования редактора темы и плагина.

Вы можете защитить себя путём отключения редактора, что устраняет возможность менять свои темы и плагины без доступа по FTP. Для данного действия добавьте нижеуказанный код в файл WP-config.php :

2. Включите двухфакторную аутентификацию

Двухфакторная аутентификация быстро становится одним из самых надежных способов защиты учётных записей в Интернете, и самые надежные сайты будут настаивать, что пользователи использовали её. Хотя WordPress не обладает встроенной двухфакторной аутентификацией, можно включить её в своём блоге, установив следующие плагины:

  • Google Authenticator;
  • Authy;
  • Clef Two-Factor Authentication;
  • Rublon.

Об установки плагинов можно прочитать в Интернете воспользовавшись поиском. Про них очень много подробных инструкций в РУнете.

3. Ограничьте логины на основе количества неудачных попыток входа

Есть много способов, которыми хакеры пытаются получить доступ к блогу, и один из наиболее распространённых методов — метод подбора перебором (bruteforce). Хакер снова и снова пытается найти комбинацию имён пользователей и паролей, пока не найдёт правильное сочетание.

По умолчанию в WordPress нет защиты от таких атак. Установив плагины, которые ограничивают доступ после определённого числа неудачных попыток с конкретного IP-адреса, вы можете затруднить хакерам получение доступа к своему блогу. Плагин Jetpack Protect Module также может защитить вас от bruteforce-атак.

4. Регулярно проверяйте блог

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

Вместо этого установите плагины сканирования безопасности и регулярно проверяйте веб-сайт. Они будут уведомлять вас, если файлы были изменены.

Хороший пример плагина безопасности — Wordfence . Он не только даёт возможность вручную/автоматически сканировать блог, но и мгновенно уведомляет, когда там происходит подозрительная деятельность. Он также отправляет информацию о потенциально вредоносных комментариях и сравнивает файлы темы и плагина с хранилищем WordPress, чтобы отследить изменения, которые потенциально могут служить лазейкой для хакеров на ваш сайт.

Другие плагины безопасности, которые могут помочь сканировать блог на наличие вредоносных программ и эксплойтов:

  • Sucuri Security Scanner;
  • Acunetix WP Security;
  • iThemes Security (ранее известный как Better WP Security).

5. Защита WordPress сайта путём смены хостинга

Хотя это звучит как слишком простой совет, на самом деле он важен. Исследования показывают, что 41% взломанных сайтов на WordPress были взломаны через уязвимости их хостинга. Это гораздо больше, чем по другим причинам, в том числе из-за слабого пароля.

Ваш хостинг может играть важную роль в том, будете ли вы взломаны или нет; убедитесь, что вы используете только надёжные веб-хосты, которые выдержали испытание временем и которые используют передовые методы защиты.

6. Скройте номер версии WordPress

По умолчанию WordPress показывает номер версии, что позволяет отслеживать, сколько блогов на WordPress работает по всему миру. Это же может быть источником больших проблем: хакеры и боты могут сканировать сеть в поисках блогов с определёнными уязвимостями на определённых версиях WordPress, что делает вас лёгкой мишенью.

Вы можете легко решить эту проблему, скрыв номер версии WordPress. Чтобы спрятать версию, добавьте указанный ниже код в файл functions.php :

7. Отключите доклады об ошибках PHP

Когда плагин или тема не работают на вашем блоге на WordPress как положено, отчёты об ошибках PHP могут помочь, показав сообщение с описанием причин ошибок. В этом есть и недостаток: при сообщении об ошибке PHP показан полный путь на сервере до источника ошибки, что открывает информацию, которую хакеры могут использовать против вас.

Вы можете защитить себя путем отключения отчетности PHP об ошибках. Добавьте следующий код в ваш файл WP-config.php :

8. Поработайте над разрешением доступа к файлам WordPress

Когда речь идет о защите вашего сайта на WordPress от эксплойтов, важно установить права доступа к файлам. Это затруднит хакерам манипулирование плагинами, темами или файлами на сервере в попытках получить контроль над сайтом.

Убедитесь, что разрешения на папки WordPress установлены на 755 или 750; на файлы 640 или 644; разрешение WP-config.php установлено на 600.

9. Регулярно производите резервное копирование

Даже крупные сайты с командой экспертов по вопросам безопасности и консультантов бывают взломаны, и хотя следование лучшим практикам может сделать ваш сайт сильнее 99,9% остальных сайтов, полной гарантии неуязвимости нет.

Лучшей мерой против атаки на WordPress является надёжное резервное копирование; убедитесь, что вы делаете резервные копии вашего сайта на регулярной основе — если это возможно, ежедневно. Таким образом, если сайт взломан, у вас остались ваши файлы и сайт можно восстановить.

Вот одни из лучших плагинов для резервного копирования WordPress:

  • BackUpWordPress
  • Ready! Backup
  • VaultPress BackupBuddy

Также некоторые хостинги практикуют ежедневное резервное копирование, (в том числе и мой) хостинг делает ежедневный бекап и сохраняет у себя в системе последние 8-ми дневные копии сайта и БД, к тому же всё это автоматически и не занимает ваше доступное место.

10. Ограничьте доступ к своей странице регистрации

Для защиты могут потребоваться и радикальные меры. Надёжным способом защитить ваш блог от попытки взлома является полное блокирование доступа к странице wp-администратора и wp-login.php .

Это рекомендуется только в том случае, если вы используете один неизменный IP-адрес. Вы можете использовать эту опцию, если у вас более одного IP-адреса, но нужно следить за этими адресами.

Чтобы ограничить доступ к странице входа в систему, добавьте следующий код в ваш файл .htaccess :

Отредактируйте значения от Your IP address 1 до Your IP address 5 , поставив значения тех адресов, которым хотите дать доступ; вы можете добавить или удалить строку, чтобы разрешить или запретить другим IP-адресам доступ к сайту.

Заключение

Вы не должны игнорировать простые советы по безопасности, вроде использования сложных имён пользователей и паролей, регулярного обновления WordPress и т.д. Однако указанные выше малоизвестные и часто игнорируемые советы по безопасности могут сделать ваш WordPress-блог чуть более надёжным.

Если же вам действительно важна защита сайта на WordPress, то советую приобрести видеокурс Александра Борисова по защите WordPress. Если не предпринимать ни каких мер, то рано или поздно вы столкнётесь с подобным и чем старше становится ваш сайт/блог, тем больше жуликов он привлекает, собственно и его утрата будет сильным ударом по психике и бюджету! Так что смотрите видеокурс и спокойно развивайте свои ресурсы.

Всё про защиту записей паролем

Если вы администратор, редактор на блоге или автор поста, то вы можете установить на него (на пост) пароль (под постом в данном случае я буду подразумевать запись, страницу или пост произвольного типа — то есть защита паролем работает для всех них).

Так как же можно защитить пост паролем в WP?

На самом деле защитить запись паролем не сложнее, чем создать эту самую запись. Всё, что вам потребуется это:

  1. Как я уже писал выше — нужно быть администратором, редактором или автором (этого поста).
  2. Переходим на страницу редактирования поста и в блоке «Опубликовать» жмём «Видимость > Изменить».
  3. Выбираем Защищено паролем, устанавливаем свой пароль и жмём «Ок», затем «Обновить».

По сути всё. Если теперь мы перейдём на страницу поста, то увидим:

Та же картина будет отображаться и на других страницах блога, где присутствует эта запись, например: главная страница, рубрики, метки, архивы.

Несколько вещей про защиту паролем, про которые вам следует знать

  • Максимальная длина пароля — 20 символов, минимальная — 1 символ.
  • После того, как вы ввели пароль к записи, он запомнится, и вам не придется вводить его каждый раз после обновления страницы. Кроме того, он будет действовать также и для других записей с таким же паролем.
  • Также вам следует знать, что за раз в кукисах запоминается только один пароль, к последней просмотренной записи.
  • Если пароль будет изменён в админке, то его придется вводить заново.
  • Настроить пароль можно также и через Свойства (быстрое редактирование записей).

Нажимаем на ссылку «Свойства» и:

Как изменить форму ввода пароля на страницах сайта?

Я находил несколько очень мудрёных решений на не буду говорить каких сайтах, но на самом деле всё делается очень очень просто:

Ах да, если не знаете, куда вставлять код — вставляйте в functions.php (в тот, который находится в вашей активной теме WP).

А можно ли изменить стандартное сообщение для цитат?

Конечно, в этом вам поможет этот хук:

Кроме того, используя предыдущий пример, вы даже сможете вывести форму ввода пароля.

Как полностью скрыть с сайта все записи, защищенные паролем

В этом нам поможет потрясающий хук pre_get_posts. Использование этого хука не вызовет проблем с постраничной навигацией, что важно.

Также по теме

Впервые познакомился с WordPress в 2009 году. С 2014 года меня можно встретить на WordCamp по всему миру — официальной конфе по WordPress, иногда там выступаю, но с 2020 выступаю только на тех, которые сам организовываю. Также периодически школа Epic Skills и LoftSchool приглашают меня вести у них уроки/вебинары.

Если вам нужна помощь с вашим сайтом или может даже разработка с нуля — пишите мне.

Как защитить сайт на WordPress — 17 способов

На сегодняшний день WordPress – это одна из самых популярных и распространенных систем управления контентом в мире. На основе этого удобного и простого движка строится множество блогов, сайтов, порталов. Но такая простота и распространенность привлекают внимание не только честных пользователей, но и злоумышленников. Сделать сайт сейчас может любой школьник, а вот чтобы грамотно его защитить, потребуются знания и хотя бы небольшой опыт.

Именно поэтому защищенность и безопасность WordPress – это один из главнейших аспектов работы над вашим веб-сайтом. Защита WordPress от взлома включает в себя множество способов, которые важно применять всем, кто не хочет, чтобы их сайт пострадал.

Сегодня мы рассмотрим ряд простейших, но в то же время очень важных способов защиты сайта на WordPress.

Из статьи вы узнаете:

1. Используйте хороший логин.

Защита сайта на WordPress начинается с элементарного — создания хорошего логина. Устанавливая WordPress, пользователи часто используют логин, который программа установки предлагает по умолчанию, а именно – admin. Это то, что проверяют боты, ищущие дыры в безопасности вашего сайта, в первую очередь. Используя этот логин, вы уже предоставляете половину необходимой информации для хакеров, и им остается только подобрать пароль.

Если вы уже установили платформу и работаете над вашим сайтом, то вряд ли вам захочется удалять установку и начинать всё с чистого листа, чтобы использовать более надежный логин. Выход есть:

Шаг 1 – Создание нового пользователя

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

В главном меню слева выберите Пользователи >> Добавить нового.

Введите всю необходимую информацию для нового пользователя, определив его роль как «Администратор» и нажмите «Добавить нового пользователя».

Шаг 2 – Удаление пользователя admin

После этого выйдите из системы управления, войдите под новой учетной записью и удалите пользователя admin из системы одним из способов:

Способ 1 – В главном меню слева выберите Пользователи >> Все пользователи. Наведите на имя пользователя admin, и вы увидите функцию «Удалить».

Способ 2 — В главном меню слева выберите Пользователи >> Все пользователи. Найдите пользователя admin, отметьте его галочкой и из выпадающего меню «Действия» выберите «Удалить». После этого нажмите на опцию «Применить» под списком пользователей. Эта опция удобна, если вам необходимо удалить сразу несколько пользователей.

Так же вы можете изменить имя пользователя admin через запрос к базе данных:
UPDATE wp_users SET user_login = ‘новый_логин’ WHERE user_login = ‘admin’;

У данного способа есть минус: автор для постов, написанных пользователем admin, не будет изменен. Для того, чтобы это исправить, необходимо сделать еще один запрос к базе данных:
UPDATE wp_posts SET post_author = ‘новый_логин’ WHERE post_author = ‘admin’;

2. Используйте сложный и уникальный пароль.

Защита админки WordPress, конечно, невозможна без сложного хорошего пароля. Важно, чтобы он был уникальным и включал в себя цифры, буквы разных регистров, знаки пунктуации, символы и прочее. Пароли типа: pass, 1q2w3e4r5t6y, 87654321, qwerty, abc123, 111111, 1234, дата вашего рождения и т.д. – не являются надежными, но многие пользователи продолжают их использовать. Пример хорошего пароля: pcVaOF8r39. Конечно, вам сложно будет запомнить такой пароль, но для этого существует ряд программ, которые хранят и генерируют пароли, а также могут быть интегрированы в интерфейс вашего браузера (например, Password Agent, KeyPass, Roboform и т.д.)

Если вы все же хотели бы помнить свои пароли наизусть, рекомендуем создавать комбинированный пароль из хорошо знакомого вам названия/слова с несколькими большими буквами/цифрами в случайных местах и несколькими специальными символами в начале или конце. Такой пароль также будет сложен для подбора, но его будет достаточно легко запомнить.

Не забывайте регулярно обновлять свои пароли.

3. Обновляйте версию WordPress.

WordPress заботится о своих пользователях, и поэтому в административной панели управления вы можете найти уведомления о выходе новой версии. Рекомендуем совершить обновление, как только вы увидите его, поскольку одной из самых распространенных брешей в защищенности вашего сайта является использование устаревшей версии платформы.

4. Скрывайте версию WordPress.

WordPress по умолчанию добавляет номер текущей версии в исходный код своих файлов и страниц. И поскольку довольно часто не всегда удается вовремя обновлять версию WordPress, это может стать слабым местом вашего веб-сайта. Зная, какая у вас версия WordPress, хакер может принести много вреда.

С помощью файла functions.php можно запретить вывод информации о версии вашей платформы. Для этого вам необходимо открыть файл functions.php, расположенный в корневой папке текущей темы вашего веб-сайта (wp-content/themes/текущая_тема_wordpress), и добавить следующий код:
remove_action(‘wp_head’, ‘wp_generator’);

Или же можно добавить следующий код в файл functions.php:

/* Hide WP version strings from scripts and styles
* @return $src
* @filter script_loader_src
* @filter style_loader_src
*/
function fjarrett_remove_wp_version_strings( $src ) <
global $wp_version;
parse_str(parse_url($src, PHP_URL_QUERY), $query);
if ( !empty($query[‘ver’]) && $query[‘ver’] === $wp_version ) <
$src = remove_query_arg(‘ver’, $src);
>
return $src;
>
add_filter( ‘script_loader_src’, ‘fjarrett_remove_wp_version_strings’ );
add_filter( ‘style_loader_src’, ‘fjarrett_remove_wp_version_strings’ );

/* Hide WP version strings from generator meta tag */
function wpmudev_remove_version() <
return »;
>
add_filter(‘the_generator’, ‘wpmudev_remove_version’);

Помимо вышесказанного, в папке любой темы WordPress, вы найдете header.php файл. В нём также указывается версия вашей установки, что для хакера является очень интересным, как упоминалось ранее. Удалив следующую строку из файла, вы избавитесь от этой лишней информации:

5. Скачивайте темы и плагины с надежных ресурсов.

WordPress является настолько распространенным, что всё больше разработчиков создают для него готовые темы и плагины. В то время как большинство из них облегчат работу с вашим сайтом и расширят его функциональность, некоторые могут скрывать в себе весьма неприятные последствия в виде вирусов и открывать двери для хакеров. Используйте только проверенные ресурсы для скачивания тем и плагинов, например, wordpress.org, а также обращайте внимание на все появляющиеся предупреждения о вредоносности файлов. Как и в случае с самим WordPress, важно вовремя обновлять плагины до последних версий.

6. Не храните ненужные файлы.

Неактивные расширения могут представлять серьезную угрозу для безопасности вашего сайта. Поэтому смело удаляйте все неиспользуемые плагины и темы. Например, вы устанавливали woocommerce-плагины, чтобы потестировать и выбрать тот, который будете использовать. После выбора не забудьте удалить все ненужные.

7. Регулярно проверяйте свой локальный компьютер на наличие вирусов.

Осуществление различных шагов по обеспечению безопасности сайта на WordPress – это хорошо, но и за компьютером необходимо следить. У вас должен быть установлен постоянно обновляемый антивирус. В противном случае, вы рискуете заразить ваш веб-сайт, загрузив на него вирусные файлы.

8. Делайте резервные копии сайта.

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

Но рекомендуем не ограничиваться такими серверными резервными копиями, поскольку важно позаботиться о бекапах и с вашей стороны. Вы можете вручную создавать копии вашего сайта с определенной периодичностью или перед важными обновлениями, но также существует ряд плагинов, которые помогут автоматически создавать копии WordPress. Вы можете ознакомиться с различными вариантами здесь: wordpress.org/plugins/tags/backup

Установив плагин WordPress Database Backup, вы дополнительно сможете обезопасить базу данных вашего сайта. Настройки плагина позволяют установить опцию ежедневной отправки резервной копии базы данных на ваш контактный почтовый ящик.

9. Используйте защищенное соединение.

Если вы предпочитаете загружать ваши файлы с помощью FTP-клиента, используйте защищенный протокол соединения к серверу SFTP.

10. Создайте .htaccess файл.

.htaccess файл — это главный конфигурационный файл веб-сервера, который находится в корневой папке вашего веб-сайта. Если у вас нет этого файла, просто создайте его с помощью текстового редактора. Расширения у файла нет, поэтому вам достаточно будет назвать новый файл .htaccess.

Это вид стандартного WordPress файл .htaccess:

Важно: Все изменения в .htaccess необходимо вносить только после #END WordPress.

Добавляя в этот файл различные вариации кода, можно значительно обезопасить ваш сайт:

Код, блокирующий доступ к вашему wp-config.php файлу, который содержит важную информацию, необходимую для соединения к серверу MySQL и базе данных:

order allow, deny
deny from all

Код, который ограничит доступ к самому .htaccess файлу:

order allow, deny
deny from all

Таким же образом можно защитить любой другой файл, просто заменив в коде «.htaccess» на название необходимого файла.

Код, который ограничивает доступ пользователей с определенным IP-адресом к вашему сайту:

order allow,deny
allow from all
deny from X.X.X.X

Так вы можете запретить доступ подозрительных пользователей, спамеров и ботов, поскольку их IP-адреса часто повторяются. Тем самым вы также снизите нагрузку на сервер.

Код, который дает доступ к вашему сайту только пользователям с определенным IP-адресом:

order deny,allow
deny from all
allow from X.X.X.X

Код, который ограничивает доступ к админ-панели управления вашего сайта (это удобно, если у вас статический IP-адрес, и вы можете установить доступ только для себя):

AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName «Access Control»
AuthType Basic
order deny, allow
deny from all
allow from X.X.X.X

Код, запрещающий отслеживание HTTP заголовков:

RewriteEngine On
RewriteCond % ^TRACE
RewriteRule .* — [F]

Код, защищающий от SQL-инъекций – самый распространенный вид атак на WordPress сайты:

RewriteCond % (\ |%3E) [NC, OR]
RewriteCond % GLOBALS(=|\[|\%[0 — 9A-Z]<0, 2>) [OR]
RewriteCond % _REQUEST(=|\[|\%[0 — 9A-Z] <0,2>)
RewriteRule ^(.*)$ index.php [F.L]

Код, который не даст просмотреть папки на вашем сервере, набрав их полный путь:

Например, набрав в браузере http://yourdomain.com/wp-includes, вы увидите всё содержимое папки «wp-includes», что, конечно же, не является безопасным. С этим кодом пользователи увидят ответ от сервера — 403 Forbidden.

Альтернативным методом скрытия подпапок, является создание пустого index.php файла в каждой директории. Таким образом, при открытии http://yourdomain.com/wp-includes браузер отобразит пустую страницу.

Код, который защищает от использования XSS-инъекций и попытки модифицировать переменные GLOBALS и _REQUEST:

Options +FollowSymLinks
RewriteEngine On
RewriteCond % (\ |%3E) [NC,OR]
RewriteCond % GLOBALS(=|\[|\%[0-9A-Z]<0,2>) [OR]
RewriteCond % _REQUEST(=|\[|\%[0-9A-Z]<0,2>)
RewriteRule ^(.*)$ index.php [F,L]

Для этой же цели можно использовать ряд WordPress плагинов, которые вы сможете найти здесь: wordpress.org/plugins/tags/xss

Код, защищающий от хотлинкинга:

RewriteEngine On
RewriteCond % !^http://(.+\.)?yourdomain\.com/ [NC]
RewriteCond % !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ /images/nohotlink.jpg [L]

Хотлинкинг – это вставка изображения с вашего сервера на чужой сайт\блог. Трафик же при этом идет непосредственно на ваш сервер.

При помощи кода, указанного выше, вы можете заставить сервер проверить, откуда именно пришел запрос: если со страниц вашего веб-сайта, то сервер отдает изображение пользователю без проблем; если же с чужого веб-сайта – то показывает изображение с ошибкой.

11. Измените префикс таблиц базы данных.

Защита WordPress от хакеров также усилится, если убрать первоначальный префикс wp_ — это усложнит поиск для злоумышленников. Рассмотрим несколько способов:

Способ 1 – Подходит для новых установок через Softaculous
Если ваш хостинг-провайдер предоставляет вам возможность использования скрипта Softaculous для установки WordPress, то изменить префикс вы можете во время первоначальной установки: в секции Advanced Options вам необходимо будет внести требуемые изменения.

Способ 2 – Для уже работающих сайтов и свежих установок WordPress
Если ваш WordPress давно установлен и сайт работает, то вы можете поменять префикс базы данных с помощью программы phpMyAdmin.

Выберите необходимую базу данных из списка и сделайте следующий запрос к базе данных:

RENAME table `wp_commentmeta` TO `newprefix_commentmeta`;
RENAME table `wp_comments` TO `newprefix_comments`;
RENAME table `wp_links` TO `newprefix_links`;
RENAME table `wp_options` TO `newprefix_options`;
RENAME table `wp_postmeta` TO `newprefix_postmeta`;
RENAME table `wp_posts` TO `newprefix_posts`;
RENAME table `wp_terms` TO `newprefix_terms`;
RENAME table `wp_term_relationships` TO `newprefix_term_relationships`;
RENAME table `wp_term_taxonomy` TO `newprefix_term_taxonomy`;
RENAME table `wp_usermeta` TO `newprefix_usermeta`;
RENAME table `wp_users` TO `newprefix_users`;

где «newprefix_» необходимо заменить на новый префикс, который вы хотите использовать вместо префикса «wp_».

После этого вы увидите новый префикс в таблицах базы данных:

Чтобы убедиться, что все изменения прошли успешно и префикс wp_ больше не используется в таблице _options и _usermeta, вам необходимо будет сделать еще один запрос к базе данных:

SELECT * FROM `newprefix_options` WHERE `option_name` LIKE ‘%wp_%’

SELECT * FROM `newprefix_usermeta` WHERE `meta_key` LIKE ‘%wp_%’

В результате вы можете найти ряд префиксов, которые вам необходимо будет переименовать вручную с помощью кнопки Изменить:

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

После этого не забудьте также внести изменения префикса в wp-config.php файле:

Вы также можете использовать специальные плагины для изменения префикса базы данных: Change DB prefix или Change table prefix.

12. Ограничивайте количество попыток доступа.

Чаще всего злоумышленники делают огромное количество попыток входа на ваш сайт, подбирая пароль. Вы можете настроить систему таким образом, чтобы IP-адрес был заблокирован на несколько часов после определенного количества неудавшихся попыток входа.

Для этого вы можете использовать дополнительные плагины, например, Login LockDown или Limit Login Attempts. В настройках этих плагинов, вы можете самостоятельно установить количество попыток входа и время блокировки.

Дополнительно существует возможность убрать отображение сообщения о том, что введенный логин и пароль неверен. Ведь это тоже информация, которая может помочь злоумышленнику.

Чтобы убрать вывод этого сообщения, необходимо открыть файл functions.php, расположенный в папке текущей темы вашего веб-сайта (wp-content/themes/текущая_тема_WordPress) и добавить такой код:
add_filter(‘login_errors’,create_function(‘$a’, «return null;»));

13. Удалите readme.html и license.txt.

Файлы readme.html и license.txt присутствуют в корневой папке любой установки WordPress. Вам эти файлы ни к чему, а хакерам они могут облечить их злодеяния. Например, чтобы выяснить текущую версию вашего WordPress и много чего другого полезного для взлома веб-сайта. Рекомендуем удалить их сразу же после установки WordPress.

14. Используйте SSL-сертификат.

Для передачи защищенной информации и конфиденциальности обмена данными, рекомендуем использовать SSL-протокол. Особенно это актуально для интернет-магазинов, если вы не хотите, чтобы личные данные о ваших клиентах передавалась незащищенным путем.

Прежде всего вам необходимо будет приобрести SSL-сертификат и установить его для вашего доменного имени.

После этого вы сможете установить обязательное использование SSL-протокола при входе в панель управления вашим сайтом. Для этого откройте wp-config.php файл, расположенный в корневой папке вашего веб-сайта, и добавьте следующую строку:
define(‘FORCE_SSL_ADMIN’, true);

15. Измените файл wp-config.php.

Добавив такой код в wp-config.php файл, вы так же сможете укрепить защиту вашего веб-сайта:

Ограничение на изменения темы и плагинов:
define( ‘DISALLOW_FILE_EDIT’, true );

Отключение возможности установки и удаления плагинов:
define( ‘DISALLOW_FILE_MODS’, true );

Добавление salt-ключей или так называемых ключей безопасности: сначала необходимо будет найти такие строки в wp-config.php файле:

Вы увидите, что ключи уже установлены и их можно поменять. Либо вы увидите строки такого типа: ‘put your unique phrase here’, что говорит о том, что ключи пока не установлены:
/**#@+
* Authentication Unique Keys and Salts.
*
* Change these to different unique phrases!
* You can generate these using the <@link https://api.wordpress.org/secret-key/1.1/salt/ WordPress.org secret-key service>
* You can change these at any point in time to invalidate all existing cookies. This will force all users to have to log in again.
*
* @since 2.6.0
*/
define(‘AUTH_KEY’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_KEY’, ‘put your unique phrase here’);
define(‘LOGGED_IN_KEY’, ‘put your unique phrase here’);
define(‘NONCE_KEY’, ‘put your unique phrase here’);
define(‘AUTH_SALT’, ‘put your unique phrase here’);
define(‘SECURE_AUTH_SALT’, ‘put your unique phrase here’);
define(‘LOGGED_IN_SALT’, ‘put your unique phrase here’);
define(‘NONCE_SALT’, ‘put your unique phrase here’);

Просто перейдите по ссылке api.wordpress.org/secret-key/1.1/salt/, где будут сгенерированны новые ключи. Скопируйте их и вставьте в wp-config.php файл.

Такие salt-ключи используются для усиления защищенности информации, хранящейся в cookie пользователей. Они усложняют процесс взлома пользовательских паролей.

16. Используйте двухфакторную аутентификацию учетных записей.

Для усиления безопасности ваших паролей все чаще используется метод нескольких видов аутентификации. После того, как вы вводите пароль на сайте, вам высылается запрос на новый одноразовый пароль, который вы получаете на контактный номер телефона или электронную почту (возможен переход по определенной ссылке из письма). Поэтому даже если ваш основной пароль был взломан, хакеру не удастся войти в аккаунт без доступа к вашему телефону или электронной почте.

Одни из самых популярных плагинов двухфакторной верификации WordPress – это Google Authenticator и Clef Two-Factor Authentication.

17. Используйте плагины, обеспечивающие безопасность.

Помимо всех перечисленных способов обезопасить свой веб-сайт, существует так же большое количество специальных плагинов, разработанных для WordPress. Вы можете найти их здесь: wordpress.org/plugins/tags/security

О некоторых плагинах хочется упомянуть отдельно:

Это плагин безопасности WordPress, который позволяет сканировать ваш веб-сайт с целью поисков вредоносного кода, брешей и лазеек, оставленных хакерами, показывая аналитику сайта и трафика в реальном времени. Также существует возможность настройки автоматического сканирования и многое другое.

Этот плагин проверяет ваш веб-сайт на различные уязвимости в безопасности и предлагает ряд методов по их устранению. Например, пароли, разные права доступа к файлам, защита баз данных, защита информации о версии WordPress, защита администратора и прочее.

Этот плагин позволяет обезопасить пользовательские аккаунты и логины, базы данных и файловую систему, предотвратить брутфорс атаки (атаки, связанные с подбором пароля), сканировать сайт и прочее.

Также рекомендуем плагин для защиты админки на WordPress LoginLockDown, который защищает от подбора пароля и логина.

Как бы грустно это ни звучало, но защита WordPress — вещь сложная, и описанные в этой статье способы не гарантируют на 100%, что ваш сайт будет полностью защищен от каких-либо действий мошенников. Однако, пренебрегать ими не стоит, так как они значительно уменьшат возможность взлома сайта злоумышленниками.

Читайте также другие статьи по теме WordPress:

Безопасность WordPress

О безопасности сайта и обновлениях

Если вы постоянно обновляете свой WordPress, вы уже участвуете в повышении безопасности своего сайта. Но этого мало. О безопасности WordPress нужно начинать думать, с момента ее установки. Кстати, для безопасности обновлять систему лучше автоматически, используя обновление из панели администратора.

Безопасность WordPress на этапе установки

При работе инсталлятора WordPress, на странице заполнения базы данных, есть пункт «Префикс базы данных». По умолчанию, префикс WordPress «wp_». Поменяйте его на любое сочетание латинских букв и цифр. Если забыли, и не переименовали префиксы таблиц БД при установки, сделайте это потом, когда понимает, что вас вскрывают. Как изменить префикс БД, читайте в статье: Как поменять префикс базы данных WordPress

При установке вы меняете файл wp-config.php , не забудьте установить ключи безопасности.

На странице установщика, с вводом данных администратора сайта, обязательно поменяйте имя администратора, с admin, на любое другое имя. Также генерируйте сложный пароль для авторизации администратора. Ограничений по количеству знаков в пароли нет. Используйте в пароле буквы, цифры, знаки препинания. Чем сложнее пароль, тем лучше. Попробуйте генератор паролей: http://randstuff.ru/password/

Периодически меняйте пароль администратора. Делается смена пароля, на вкладке Пользователи→Ваш профиль. Внизу две строки «Новый пароль» и «Повторить новый пароль». Если вас взломали, поменяйте и имя администратора. Из административной панели сделать это не получится, придется менять имя в phpMyAdmin. Как это сделать, лучше почитать статью: Восстановить пароль администратора WordPress.

Эти меры безопасности, лежат на поверхности, и ими не стоит ограничиваться, если радеете за безопасность своего веб-приложения.

Повышаем безопасность WordPress в его каталоге.

Права CHMOD

Права CHMOD это права доступа к файлам и каталогам вашего сайта. По умолчанию, после установки системы, устанавливаются права CHMOD на файлы 644, на каталоги 755.

Никогда не оставляйте права CHMOD 666 и 777. Тем самым вы сами откроете доступ к каталогам и файлам своего сайта.

Включите SFTP вместо FTP

Работая с сайтом WordPress вам не обойтись без соединения с каталогом сайта по FTP. Об уязвимости FTP соединений знают уже 23 года. Одни FTP клиенты безопаснее, другие опаснее для взлома.

  • Не используйте анонимное соединение по FTP, оно небезопасно. Для соединения аккаунт FTP клиента должен иметь имя, и пароль доступа. Создается FTP аккаунт в административной панели сервера (хостинга).
  • Для безопасности, лучше использовать не FTP, а SFTP соединение для передачи данных на сервер сайта.

Начните использовать безопасный протокол передачи файлов (SFTP) вместо FTP при доступе к сайту. Подключение по SFTP простое, и хорошие веб-провайдеры должны включать его по умолчанию. Все, что вам нужно сделать, это попросить в support своей хостинг компании, номер порта для шифрованного соединения SFTP, а затем измените настройки в вашем FTP приложении (на фото программа FileZilla). Скорее всего, это порт: 22.

Можно не обращаться к провайдеру, а попробовать соединиться по SFTP самостоятельно. FTP приложение, будет использовать для шифрованного соединения порт не 21, а 22. Если на хостинге SFTP соединение разрешено, то после вашего разрешения, вы соединитесь по SFTP со своим сервером.

Сделайте безопасным файл wp-config.php

Файл wp-config.php содержит слишком много «секретной» информации, чтобы оставлять его без защиты. Об установке ключей безопасности и переименовании префикса «wp_» таблиц базы данных, я уже сказал. Все эти изменения отразятся в файле wp-config.php .

Теперь спрячем файл wp-config.php.

Вариант 1. Система WordPress, с версии 2.6, если не находит файл wp-config.php в корневом каталоге сайта, автоматически ищет его в каталоге высшего уровня. Если находит его там, то без проблем открывает сайт и его административную часть.

Поэтому, если вы пользователь на сервере сайта, с допуском к каталогу высшего уровня, то смело перемещайте Файл wp-config.php в каталог выше корневой папки сайта. Если у вас такого допуска нет, то при попытке переместить этот файл по FTP, у вас получится неудавшаяся передача файлов.

Приведу пример.

  • Корневая папка сайта тут: /domains/domen.ru/public_html;
  • Каталог высшего уровня тут: /domains/domen.ru/.
  • Права пользователя выставляются в панели хостинга (сервера), при создании FTP аккаунта, фото:

Перетягиваете wp-config из корневого каталога [public_html] в папку домена [domen.ru].

Вариант 2. Если у вас нет доступа к каталогу высшего уровня, защитите файл wp-cofig в файле .htaccess . Этот файл вы должны были создать после установки WP, из файла htaccess.txt .

Вставьте в верх файла .htaccess такие строчки:

Следите, чтобы файл wp-config.php и .htaccess были в одной папке.

Вариант3. Если на сервере есть SSL шифрование данных, то можно добавить в файл wp-config.php следующую строку:
define(‘FORCE_SSL_ADMIN’, true);e>
Она включит шифрование для админки WP.

Маскируем другие папки WordPress

В каталоге WordPress две основные папки, которые интересны взломщикам: wp-content/themes/ и wp-content/plugins/.

Попробуйте открыть в браузере эти папки, то есть введите в адресную строку:

  • Ваш-домен/ wp-content/plugins/ , затем;
  • Ваш-домен/wp-content/themes/.

Если вы видите белый лист или 404 ошибку, то ваши папки защищены.

Если вы видите список каталогов и файлов, то папки открыты для всех.

Чтобы их замаскировать создайте пустой файл Index.html и положите его по FTP в эти папки. Это замаскирует эти папки, но не спрячет от продвинутых взломщиков.

Защитить их можно строкой: Options -Indexes , добавленную в конец файла .htaccess . После добавления строки, сделайте контрольную проверку. Вы должны попасть на 404 страницы.

Важно! Все защиты в файле .htaccess , имеют место, если вы не используете плагины безопасности на своем WordPress, а пытаетесь защититься самостоятельно.

Полезная ссылка: Генератор файла .htaccess ( http://www.htaccesstools.com/htpasswd-generator/ ).

Другая защита безопасности WordPress

Уберите из футера сайта ссылки на версию WP.

Удалите пользователя с именем admin. Если под этим именем писались статьи, то сделайте следующее:

  • Входите на вкладку: Пользователи;
  • Создаете нового администратора;
  • Удаляете администратора: admin. При удалении admin, перенаправляете все публикации admin на нового администратора.
  • Уберите с сайта виджет «Мета» с прямой регистрацией пользователей. Замените «Мета» на подписку по email;
  • Для параноиков: отмените регистрацию пользователей вообще. Вкладка→Настройки→Общие→Членство (очистить чекбокс).

На этом все! Безопасность WordPress в ваших руках.

Защита WordPress сайта: 16 мер и 19 плагинов

Приветствую вас, друзья!

Те из вас, кто подписан на обновления проекта и следит за выходом новых статей, наверняка заметил, что в последнее время я заинтересовался вопросами кибербезопасности.

А именно, способами нанесения вреда владельцам сайтов и тому, как от них уберечься.

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

Знания в области кибербезопасности необходимы мне, как профессиональному веб-разработчику, для защиты создаваемых и поддерживаемых мною сайтов. К чему я и вас призываю, мои дорогие читатели. Помните, что у всяких знаний есть Тёмная сторона, которой нужно избегать.

Однако, сказать, что хакеры этому миру не нужны я также не могу, т.к. их деятельность помогает находить бреши в безопасности и устранять их (лучше бы они только этим и занимались, а не использовали слабые места сайтов для своей выгоды).

В прочем, я сильно увлёкся �� И не представил вам тему сегодняшней статьи, которая является очень популярной сегодня и серьёзной – это безопасность WordPress сайтов.

В ней я расскажу о наиболее частых ошибках вебмастеров, которые они допускают при защите WP ресурсов, из-за которых их часто взламывают, а также о способах их предотвращения.

Многим описанные меры могут показаться очевидными и банальными, но уверяю вас… Именно поэтому большая часть пользователей не считают их чем-то серьёзным и зачастую ими пренебрегают ��

И в это же время данные упущения с успехом используются тысячами хакеров для взлома WordPress сайтов ежедневно.

Также я поделюсь своим опытом защиты ВордПресс сайтов, который у меня уже успел накопиться.

Однако – обо всём по порядку.

Что нужно знать о безопасности WordPress?

WordPress – это бесплатная OpenSource система управления содержимым сайта. Предоставляется она абсолютно бесплатно всем желающим, что резко повышает к ней интерес со стороны разработчиков.

Каждый владелец копии ВордПресс может использовать её по своему усмотрению: модифицировать, распространять и создавать на её базе свои проекты.

Именно большая популярность и открытость архитектуры CMS WordPress сделала ее очень уязвимой и доступной для злоумышленников, которые могут навредить ресурсу. Ведь найденная уязвимость может быстро тиражироваться на сотни тысяч сайтов, делая владельцев беззащитными перед опытными взломщиками.

Интересная информация о WordPress:

  • 35-40 % сайтов, запущенных в доменной зоне RU в 2020 году, работают на Вордпресс;
  • на текущий момент на CMS WordPress в Рунете работает более 500 000 различных сайтов;
  • всего в мире на движке Вордпресс запущено более 18 000 000 сайтов (на начало 2020 года), для сравнения годом ранее цифра была всего 16 000 000, а в 2012 году – лишь 6 000 000 сайтов;
  • в официальном каталоге плагинов доступно около 30 000 бесплатных плагинов для CMS;
  • в качестве разработчиков WordPress зарегистрировано в 2012 году более 100 000 специалистов;
  • лишь 20 % пользователей устанавливают плагины для защиты WordPress.

Как видите, с одной стороны система активно развивается, миллионы пользователей ее используют, но лишь 1/5 вебмастеров беспокоятся о безопасности Вордпресс сайтов, которые им принадлежат.

Зачем кому-то ломать защиту WordPress?

Начнём с того, что сайты WordPress могут взламываться автоматически с помощью различных программ-роботов и вручную.

Первый – наиболее распространённый, т.к. имеет массовый характер воздействия. Причём, ваш сайт может быть как огромным порталом с посещаемостью в несколько тысяч пользователей в сутки, так и личным блогом, у которого от силы десяток читателей, включая Вас ��

Время от времени в сети мелькает информация о таких массовых атаках на WordPress сайты.

Автоматический взлом основывается на использовании недостатков безопасности WordPress как платформы. Особенно ему подвержены ресурсы, использующие старую версию движка сайта, т.к. разработчики постоянно анализируют причины успешных WP взломов и устраняют недоработки в новых версиях.

При автоматическом взломе WordPress сайтов злоумышленники могут руководствоваться следующими мотивами:

  • кража сайта – полное копирование ресурса и перенос его на новый домен с целью присвоения результатов труда разработчика, монетизации ресурса и так далее;
  • получение ссылок с ресурса для составления сетки сателлитов, улучшения ссылочного профиля;
  • шантаж;
  • получение личных данных пользователей или иной полезной коммерческой информации;
  • получение прибыли путем подмены информации на сайте (замена номеров карт, платежной информации);
  • использование сайта для инфицирования пользователей ресурса путем рассылки писем или программ с вирусами;
  • перенаправление вашего трафика на свои ресурсы (редирект);
  • использование системных ресурсов для хранения своих данных, более эффективного взлома других ресурсов.

При ручном взломе сайтов помимо перечисленных причин хакеры руководствуются ещё и личными мотивами, среди которых могут присутствовать следующие:

  • месть;
  • зависть;
  • устранение прямого конкурента;
  • взлом WordPress сайта на заказ.

Это лишь малая часть из возможных мотивов злоумышленников, среди которых есть как коммерческие мотивы, так и человеческие качества.

Именно поэтому настройки безопасности WordPress – это обязательный этап разработки любого сайта. Если им пренебречь, рано или поздно вы станете жертвой атаки.

Как обходят WP защиту?

  • 40% – взломы хостинга. Владелец сайта мало может повлиять на защищенность хостинг платформы, поэтому изначально нужно выбирать качественных хостеров с положительными отзывами и проверенной репутацией.
  • 30% осуществляются через небезопасные темы, в которых намеренно или случайно присутствуют уязвимости. Вывод: необходимо использовать платные темы от надежных поставщиков. Я лично рекомендую ресурс TemplateMonster, где все шаблоны проходят жёсткую модерацию профессионалами на предмет безопасности и функциональности.
  • 20% взломов WordPress из-за уязвимых плагинов. Даже лучшая защита ВордПресс нивелируется установкой плагинов с намеренно размещенной уязвимостью. Сюда же относится установка чистого кода на сайт из непроверенных источников пользователями, мало разбирающимися в программировании.
  • 10% ВордПресс взломов из-за ненадежного пароля. Хакеры просто подбирают или брутфорсят пароли, взламывая сайты в автоматическом или ручном режиме.

Безопасность WP сайта должна решаться комплексно, то есть, даже если вы используете плагины WordPress Security, но при этом устанавливаете на свой ресурс непроверенный код – вы находитесь в зоне риска.

Надежная защита WordPress – это реально?

Вполне. К счастью, реальность такова, что работоспособных WP сайтов, о безопасности которых позаботились их владельцы, больше, чем взломанных.

Для обеспечения надёжной ВордПресс security всего лишь необходимо следовать определенным рекомендациям, которые, на самом деле, очень простые и в некоторых случаях даже примитивные.

Регулярные бэкапы

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

В этом случае наличие резервных копий поможет восстановить ресурс максимально быстро. Оптимальная схема бэкапов для средних и крупных сайтов следующая:

  • 1 копия хранится непосредственно на хостинге – она нужна для быстрой работы с сайтом;
  • 1 копия хранится на компьютере владельца, который также надежно защищен от взлома файерволом и антивирусом – она необходима для быстрого восстановления в случае взлома;
  • 1 копия хранится на облачном сервисе, как основной резервный источник;
  • 1 копия хранится в офлайн режиме на флеш-носителе.

Поскольку сайт постоянно находится в процессе развития, важно регулярно обновлять копии на носителях, т.к. вы никогда не знаете, в какой момент на ваш сайт может быть осуществлена атака.

В бэкапах нужно хранить не только файлы сайта, но и данные БД.

На хостинге идеальной частотой является 3 бэкапа в сутки, которая у многих хостинг-провайдеров установлена по умолчанию (например, у моего хостера TheHost).

Но это во многом зависит от свободного дискового пространства, предоставляемого вам на серверном жёстком диске в рамках оплачиваемого вами тарифного плана.

Поэтому лучше не экономить на безопасности ��

Остальные типы бэкапов не нуждаются в таком частом создании. Достаточно делать резервную копию в облаке 2 раза в неделю, а на локальном комьютере и флеш-носителе – раз в неделю.

Бесплатные плагины защиты WordPress сайта, позволяющих автоматизировать процесс формирования резервных копий:

  • Duplicator — обеспечивает возможность копирования и перемещения сайта, а также является простым средством для резервного копирования;
  • UpdraftPlus – плагин для резервного копирования в облако на Dropbox, Google Диск или другие сервисы.
  • WordPress Backup to Dropbox – простой плагин для регулярного резервного копирования файлов и БД сайта в Dropbox.

Ограничение сбора сведений о сайте злоумышленниками

Зная, какая версия ВордПресс используется у вас на сайте и какие установлены плагины, хакеры могут получить сведения о возможных уязвимостях. Чтобы это предотвратить, необходимы следующие простые, но эффективные действия.

  1. удалить файлы readme.html и license.txt из корня сайта;
  2. заблокировать доступ к .htaccess через браузер с помощью директив самого .htaccess;
  3. обязательно проверить исходный код HTML-страницы на предмет упоминания названий плагинов и их версий в примечаниях;
  4. сделать запрет доступа к install.php, wp-config.php и прочим системным файлам;
  5. запретить просмотр в браузере содержимое каталогов WordPress сайта с помощью директив .htaccess;
  6. скрыть информацию о владельце сайта, авторах;
  7. директориям сайта на хостинге установить права доступа 755, а файлам — 644.

Защита админки WordPress сайта

Доступ к панели администратора WP сайта является золотой мечтой большинства хакеров. Но, тем не менее, защитить ВордПресс админку очень просто и для этого существует масса способов.

Самым эффективным является маскировка.

Большинство программ для автоматического взлома настроены на wp-login.php. Если же изменить адрес доступа, можно существенно повысить WordPress security ресурса, поскольку автоматические программы попросту будут выдавать ошибку доступа. Возможные решения (плагины):

  • Login LockDown – быстро определяет подбор пароля и блокирует запрос с этого IP;
  • Revisium WordPress Theme Checker – определяет наиболее типичные способы взлома вашего шаблона, проверяет доступ к админ панели;

Я лично пошёл ещё дальше и помимо указанных мер установил ещё блокировку попыток входа в админку по IP, благодаря чему доступ к панели администратора возможен только с нескольких IP-адресов.

Это, правда, вносит свои неудобства при использовании VPN сервисов, которые стали популярны у населения Украины благодаря запрету у нас Вконтакте, Яндекса и прочих российских ресурсов, но зато положительно влияет на уменьшение количества попыток входа в админку и брут-форс атак.

Кстати, данное явление также создаёт большую нагрузку на сайт и БД, в частности, из-за чего сайт может утратить свою работоспособность на некоторое время, что негативно влияет на позиции в поисковых выдачах, посещаемость ресурса и отношения пользователей к вам.

Отказ от использования VPN сервисов

Раз уж я начал говорить о них в предыдущем пункте, то стоит сказать, что их использование вообще крайне нежелательно как раз-таки из соображений как безопасности WP сайта, так и локального комьютера и хранящихся на нём данных.

Поэтому любителям VPN сервисов я настоятельно рекомендую от них отказаться. По крайней мере, на время работы в панели администратора ВордПресс сайта.

Во-первых, VPN соединение для работы в админке не нужно.

А, во-вторых (и это самое главное), — при использовании VPN сервисов ваши данные пропускаются через сторонние сервера, на которых они могут быть использованы как угодно.

Следовательно, имя пользователя и пароль администратора могут быть украдены злоумышленниками и использованы для контроля вашим ресурсом.

Отказ от работы в админке WP через общественный Wi-Fi

Никогда не используйте WI-FI соединение для доступа к админпанели сайта, которое используется ещё кем-то.

За историю существования Wi-Fi сетей насчитываются тысячи случаев похищения данных администраторов с последующим взломом ВордПресс сайтов и кражей другой ценной информации владельцев устройств, пользующихся «бесплатным» интернетом в общественных местах.

Причём доступ к таким сетям может быть как защищён паролем, так и нет — главным условием является наличие в них кого-то ещё кроме вас, в мотивах которых вы не можете быть уверены на 100%.

В Интернете можно найти массу программ, которые якобы позволяют защитить Wi-Fi соединение при использовании общественных сетей.

Я даже хотел вам порекомендовать парочку, но при анализе их устройства обнаружил, что все они используют VPN, который и не такой уж безопасный, как кажется и всячески навязывается.

Установка SSL-сертификата

Интересные дела получаются. VPN недостаточно надёжен, общественный Wi-Fi для администрирования сайта вообще использовать запрещается.

А как тогда быть, если нужно уехать в длительную командировку или на отдых, одним словом, оказаться длительное время без проверенного и защищённого Wi-Fi, а сайт в это время нужно администрировать?

В данной ситуации на помощь может прийти как раз использование SSL-сертификата для передачи данных по защищённому протоколу HTTPS.

Для упрощения перевода WordPress на HTTPS я лично рекомендую применять специальные плагины, которые значительно упрощают жизнь.

  • Really Simple SSL – плагин позволяет установить сайту на WordPress SSL сертификат за пару секунд. Необходимо лишь получить SSL сертификат, установить плагин и активировать его. Остальные действие будут выполнены автоматически, включая редирект, внесение корректировок в .htaccess и замена всех url сайта с учётом протокола HTTPS.
  • WP Force SSL – плагин для перенаправления трафика с HTTP на расширенный протокол HTTPS, включая прописанные вручную ссылки.
  • Easy HTTPS Redirection – плагин, очень похожий на WP Force SSL по своему действию, т.к. позволяет настроить редиректы с HTTP на HTTPS как для всех URL сайта, так и для отдельных.
  • SSL Insecure Content Fixer – данный плагин защищает WordPress сайт от опасного контента и предупреждений о смешанном содержимом.

Если вы вдруг не знаете как установить плагин WordPress, то рекомендую вам ознакомиться со статьёй по ссылке.

В ручном режиме установка на WordPress SSL сертификата и его настройка будет для вас достаточно сложной и дорогой, если отказаться от плагинов и пользоваться услугами профессиональных разработчиков.

Двухэтапная аутентификация при входе в админку

Данная мера безопасности является ещё одним эффективным средством защиты админки WordPress наряду с настройкой HTTPS на WP сайте.

Заключается она в использовании не только стандартного ввода имени пользователя и пароля при входе в админпанель, но и во вводе специального кода подтверждения, отправляемого вам на телефон.

Поэтому если брутфорс атака злоумышленников будет успешной и им удастся подобрать данные учётной записи администратора, то второй этап остановит их от получения контроля над вашим сайтом.

Наиболее простым и удобным способом внедрения двухфакторной аутенфитикации на свой сайт является установка специальных плагинов. Вот список самых популярных, размещённых в порядке убывания количества скачиваний:

  • Google Authenticator — Two Factor Authentication (2FA)
  • Duo Two-Factor Authentication
  • Rublon Two-Factor Authentication

Описания их возможностей приводить не буду, т.к. все они примерно одинаковы. А самое прикольное лого на wordpress.com у Rublon, так что обязательно зайдите и зацените ��

Регулярное обновление ВордПресс

Основная и самая примитивная защита от взлома WordPress сайта – это регулярное обновление движка. Тысячи хакеров днями и ночами ищут уязвимости версий Вордпресс, поэтому чем раньше вы обновитесь, тем дольше будет действовать WordPress security вашего ресурса.

От момента выявления «дыры» до взлома сотен тысяч сайтов иногда проходит несколько дней. Поэтому разработчики WordPress ведут неравный бой с хакерами всего мира, постоянно выпуская обновления, устраняющие ошибки и слабые места.

И глупо было бы этим не воспользоваться. Устанавливайте обновление незамедлительно, сразу после его выхода!

Благодаря данному обстоятельству крайне нежелательно вносить правки в код движка самостоятельно, т.к. после обновления этот функционал будет для вас недоступен.

Поэтому для редактирования кода сайта на WordPress можно править только файлы темы и вносить изменения в файл functions.php, благодаря которому и наличию АПИ ВордПресс можно достичь требуемого результата.

И ещё. Хотя об этом уже шла речь, но считаю нужным напомнить, что перед обновлением обязательно делайте бэкап файлов сайта и БД, т.к. на новой версии движка может не работать часть устаревших функций и плагинов WP.

Изменение стандартных данных администратора

По умолчанию Вордпресс осуществляет доступ через учетную запись Admin. Это очень плохо, ведь один из распространенных способов взлома – подбор пароля под определенный логин (брутфорс атака).

Иными словами, хакеры знают, что у вас логин Admin, они генерируют миллионы комбинаций паролей, и начинают пытаться входить под ними на сайты, имеющиеся у них в базе.

Например, они проверяют пароль FDj2423 среди миллионов сайтов, и существует большая вероятность того, что он где-то используется. Поскольку более половины владельцев не меняют стандартную учетную запись, сильно упрощается задача для хакеров.

Чтобы изменить логин и повысить свой процент защиты WordPress от взлома, необходимо:

  • создать новую учетную запись со сложным паролем;
  • указать ее роль как «Администратор»;
  • удалить пользователя Admin.

Простейшие действия, которые сильно существенно повышают WP безопасность, занимают 3 минуты времени, но, к сожалению, редко совершаются начинающими вебмастерами.

Удаление неиспользуемых плагинов

Еще одно упущение, которое дорого обходится владельцам сайтов. Если вы хотели протестировать плагины, а после этого решили их деактивировать без удаления с сайта, вы по-прежнему находитесь в зоне риска:

  • плагины могут использоваться для инъекций вредоносного кода;
  • неиспользуемые плагины также необходимо обновлять, для повышения безопасности;
  • то, что плагин на момент установки безопасен, совершенно не определяет его надежность в будущем.

Немного оффтопа, но я вообще рекомендовал бы вам использовать плагины по-минимуму, т. к. они могут стать не только дверью для хакеров на ваш сайт, но и снижать его производительность (особенно, если они используют API сторонних сервисов).

Хорошей альтернативой плагинам WordPress может служить использование чистого JavaScript и PHP кода, на котором написан сам ВордПресс.

Но данный способ расширения функционала ВП сайтов, к сожалению, тоже не без изъянов.

Использование кода из проверенных источников

При использовании кусков кода для расширения функционала сайта как альтернативы использования плагинов также нужно быть предельно аккуратным.

По своему опыту скажу, что я всеми руками за такую практику, т.к., в отличие от плагинов, которые пишут все кому не лень и никто не модерирует, код разрабатывают, как правило, опытные разработчики (хотя, это тоже не всегда так).

К тому же, просмотреть кусок кода на предмет наличия вредоносных операций занимает не столько много времени, как копание в архитектуре плагина, которая может содержать до нескольких десятков файлов и директорий.

Но при использовании кода вместо плагинов WP есть существенный подводный камень – вам нужно хотя бы частично разбираться в программировании и защите WordPress от взломов, чтобы понимать – пользу или вред принесёт вам труд других разработчиков.

Если же необходимых знаний или друзей с их наличием у вас нет, то используйте, хотя бы, авторитетные источники, о компетентности которых можно судить по отзывам других пользователей и тематике сайта, на котором код размещён.

Если сайт, как и данный, посвящён исключительно веб-разработке, то с высокой степенью вероятности его автор сам является разработчиком либо хотя бы разбирается и увлекается программированием.

Если же вы хотите расширить функционал WordPress сайта кодом с ресурса, рассказывающем о заработке в Интернете, предлагающем скачать бесплатные программы и фильмы или просто с какого-то персонального блога, где автор помимо данной информации делится своими рецептами блюд из картошки – будьте осторожны!

Иначе ваш сайт может превратиться в такой же овощ. Или даже похуже ��

Не хочу никого обижать, но я всё-таки считаю, что кодом должны заниматься профессионалы. Причём, с благими намерениями.

Изменение префикса таблиц базы данных

Очень простой и эффективный способ защититься от автоматического взлома WordPress ресурса. Суть метода проста – вы меняете префикс таблиц баз данных сайта путем изменения стандартного префикса wp_ на произвольный, например, bd_.

Если кто-то не в курсе, префикс таблиц БД нужен для хранения в одной базе данных сайта таблиц, используемых для разных сайтов, работающих на одной платформе, у которых одинаковые имена.

Таким образом, таблицы, хранящие данные каждого такого сайта, будут отличаться от аналогичных с помощью префикса.

Изменение префикса производится либо путем использования автоустановщика скриптов Softaculous (не на каждом хостинге работает), либо путем переименования таблиц БД через веб-интерфейс phpMyAdmin или подобную программу для доступа к базе данных.

Поскольку метод радикальный и может вызвать нарушение функционала и падение посещаемости, лучше делать все работы на моменте запуска проекта, либо постепенно, тестируя работоспособность сайта.

Также не забудьте изменить значение переменной table_prefix в файле wp_config.php, который лежит в корне вашего WordPress сайта на следующее:

Вместо prefix в значении переменной может быть любая символьная последовательность, какую вы посчитаете нужной. Главное – не заигрываться и не делать префикс слишком длинным ��

Установка WordPress капчи

Данная технология киберзащиты уже почти 20 лет, как вошла в нашу жизнь. Тем не менее, до сих пор далеко не на всех сайтах можно встретить её использование.

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

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

Установка капчи, как правило, нужна на различных формах, с помощью которых на сайте производятся действия. Это нужно для того, чтобы на ваш ресурс не проникли роботы и не натворили делов ��

Самыми распространёнными местами установки CAPTCHA в WordPress являются следующие:

  • форма добавления комментариев;
  • регистрация и вход на сайт;
  • форма обратной связи;
  • оформление заказа (если у вас Интернет-магазин на WordPress);

Установить капчу в ВордПресс можно как вручную, используя API сторонних сервисов, так и воспользоваться специальными плагинами капчи WordPress.

Защита персонального компьютера

Совет самый, что ни есть банальный, но многие им пренебрегают.

Никакой плагин безопасности WordPress не поможет защитить сайт, если хакеры смогут получить доступ к персональному компьютеру, с которого осуществляется вход в админпанель.

Казалось бы: попасть на сайт, если вход в админку не ограничен по IP, можно с любой машины. Но главная опасность взлома ПК владельца сайта заключается в том, что в веб-браузере могут остаться сохранённые данные для входа в куках (cookies), благодаря которым можно зайти на сайт без авторизации.

Или вы, как и большинство пользователей, просто сохраняете в браузере данные форм, с помощью чего запоминаются креды (credentials) вашей учётной записи администратора.

Для защиты личного ПК необходимо воспользоваться следующими мерами:

  • Старайтесь не использовать бесплатные антивирусные программы.
  • Никогда не устанавливайте антивирусы, скачанные с ресурсов неизвестных лиц. устанавливайте только программы с официальных сайтов. Очень часто под видом антивируса наивные пользователи устанавливают шпионские программы собственными руками.
  • Используйте лицензионное ПО.
  • Регулярно обновляйте антивирус.
  • Придумайте сложный пароль для доступа к компьютеру (и вообще используйте его).
  • Не сохраняйте данные учётной записи администратора в браузере.
  • Пользуйтесь брандмауэром (стандартного для вашей ОС вполне подойдёт).

Защита электронной почты

Почта – краеугольный камень всего комплекса безопасности. Взламывая ее, злоумышленник может изменить права доступа к FTP-серверу, админ панели и получить полный доступ к сайту.

Очень часто, сосредоточившись на защите WordPress от вирусов, владельцы сайтов забывают о потенциальной опасности e-mail:

  • для регистрации домена и хостинга заведите отдельный ящик;
  • не открывайте подозрительные письма, тем более с вложенными файлами;
  • 1 раз в 2-3 месяца меняйте пароль на сложную комбинацию цифр и букв;
  • не указывайте нигде ящик, как контактную информацию;
  • установите двухуровневую аутентификацию (электронная почта + СМС на ваш телефон) в панели хостера и регистратора домена.

Включение здравого смысла

На закуску я оставил совсем уже очевидное предостережение, которое многие из вас могли посчитать вообще обидным. Последним я его решил разместить, т. к. увидев его в числе первых вы вряд ли стали бы читать полный список. Подумали, что я держу вас за дураков ��

Однако, когда речь идёт о безопасности ВордПресс сайтов, мелочей быть не может. И если не принять всерьёз данную рекомендацию, то все предыдущие меры защиты WP не будут иметь никакого смысла.

Под включением здравого смысла я имел ввиду применение самого главного правила безопасности — молчать. Это значит не разглашать никому секретные данные, кем бы ни был ваш собеседник. Никто и никогда не сможет вам сказать, что может прийти ему в голову в один прекрасный момент…

А когда сайт перестанет работать, вы долго не сможете понять, в чём же причина. Вряд ли даже всерьёз рассмотрите указанный мной фактор в силу мыслей формата «Кто бы мог подумать, что он/она на такое способен?!».

Поэтому, повторюсь, держите в секрете ваши параметры подключения по FTP, SSH и к БД, а также адрес админпанели и учётную запись администратора с паролем.

Лучше даже никому не сообщать адрес сайта и то, что вы являетесь его владельцем.

И ни в коем случае не провоцируйте атаки на ваш сайт сами громкими заявлениями, что вы произвели все меры по обеспечению безопасности и защитили его на 200%.

Если задаться целью, то для опытного веб-программиста не составит труда организовать взлом WordPress сайта. Так что бережёного Бог бережёт ��

Согласен, похоже на паранойю, но для обеспечения защиты WordPress сайта все средства хороши.

Обзор плагинов безопасности WordPress

В завершение я решил познакомить вас с наиболее эффективными плагинами ВордПресс для комплексной безопасности.

Они помогают мониторить сайт на наличие в его WP защите проблем, предоставляя либо инструменты для их моментального решения, либо рекомендации по самостоятельному устранению.

Wordfence Security – анализатор, который проверяет ресурс на наличие «дыр» в безопасности WordPress. Можно настроить регулярное сканирование сайта, чтобы обезопасить себя от возникающих уязвимостей.

Это эффективная защита WordPress от ddos атак.

Действует по принципу сравнения текущей версии сайта с эталонной, при расхождении находит зараженные файлы.

Acunetix WP Security – анализатор доступа к системным файлам, админке, проверяет защиту данных, сложность пароля, предоставляет рекомендации по устранению проблем.

Особенностью плагина можно назвать то, что он находит наиболее уязвимые места и является профилактической мерой безопасности WP сайта.

Обеспечивает очень хорошую защиту WordPress от вирусов.

All In One WordPress Security – включает в себя защиту от самых распространенных способов взлома, включая подбор паролей, подмену адреса админки, защиту WordPress от ddos атак и др.

AntiVirus – сканер вредоносных программ, нагружает сервер, снижает скорость загрузки сайта, но обеспечивает надёжную защиту WordPress от вирусов.

iThemes Security – плагин для комплексной защиты сайта, умеет резервировать сайт, защищает админку, предотвращает внешний доступ, защищает от подбора логина или пароля.

Установка iThemes Security – это решение для ленивых. Это плагин комплексной безопасности, который решает практически все проблемы начинающего разработчика.

В пакет возможностей входит: защита админки, блокирование пользователей по IP, защита WordPress от спама, аудит безопасности, настройка защиты установленных плагинов, ведение отчета по доступу к сайту.

Большинство уязвимостей можно устранить путем предлагаемых плагином решений.

Anti-spam plugin – защищает WordPress сайт от ботов, быстро настраивается, имеет дружественный интерфейс.

Sucuri Scanner – это один из признанных лидеров в сфере защиты сайтов на ВордПресс, он бесплатен и очень эффективен.

Проводит в автоматическом режиме аудит безопасности сайта и проверяет наличие повреждений в системных файлах.

Удаляет выявленный вредоносный код, осуществляет настройку сайта после взлома безопасности или инъекций кода.

Эффективно предотвращает несанкционированный доступ путем защиты от взлома админки, а также уведомляет о возможных нарушениях безопасности во время работы сайта.

Если хотите найти больше плагинов для защиты WordPress, то можете воспользоваться официальным каталогом, который доступен по ссылке wordpress.org/plugins/tags/security.

При самостоятельном поиске подходящих решений важно точно определять разработчика, следить за отзывами и репутацией компании, которая предлагает плагины.

Поскольку большинство программ предоставляется на бесплатной основе, помните, что бесплатный сыр только в мышеловке. Очень часто злоумышленники копируют названия брендов и плагинов с целью заражения сайта вирусами или внедрения вредоносного кода.

Безопасность WordPress сайта — выводы

Как бы печально это не звучало, но ни один из выше описанных способов и плагинов не может дать 100% защиту WordPress сайту от взлома.

Существует несколько десятков различных технологий получения доступа и нанесения вреда сайтам, поэтому уязвимость лишь в одном из факторов WP защиты влечет за собой полную потерю контроля над ресурсом.

Одних только способов обхода капчи существует, как минимум 10.

Однако, грамотная работа по развитию проекта, превентивные меры, анализ информационной среды и соблюдения мер защиты вашего WordPress сайта поможет существенно снизить риски взлома.

И ещё, в завершение сегодняшней статьи о безопасности ВорпПресс ресурсов, я хочу сказать, что целью её написания было не развитие у вас паранойи по поводу уязвимости вашего, а знакомство вас с самыми простыми и очевидными мерами, которые помогут вам защититься от 80% современных атак.

К слову, лёгкая паранойя – это нормальное явление, когда речь заходит о вопросах безопасности �� Однако, не стоит ей позволять управлять вашей жизнью и всего опасаться.

Поэтому используйте описанные в статье рекомендации по защите ВордПресс сайтов – и спите спокойно ��

На этом у меня всё. Оставляйте свои мнения и пожелания в комментариях под статьёй и делитесь ей со своими друзьями с помощью социальных кнопок.

Всем удачи и до новых встреч!

P.S.: если вам нужен сайт либо необходимо внести правки на существующий, но для этого нет времени и желания, могу предложить свои услуги.

Более 5 лет опыта профессиональной разработки сайтов. Работа с PHP, OpenCart, WordPress, Laravel, Yii, MySQL, PostgreSQL, JavaScript, React, Angular и другими технологиями web-разработки.

Опыт разработки проектов различного уровня: лендинги, корпоративные сайты, Интернет-магазины, CRM, порталы. В том числе поддержка и разработка HighLoad проектов. Присылайте ваши заявки на email [email protected]

И с друзьями не забудьте поделиться ��

28 полезных советов как обезопасить WordPress без плагинов

Давненько я не писал в эту рубрику. Но сегодня исправляю этот промах.

Безопасность WordPress – это как безопасность вашего дома или квартиры.

Когда вы выходите из дома, вы закрываете двери и закрываете окна, верно? Почему бы вам не сделать то же самое для вашего сайта?

В конце концов – так же, как и ваше место жительства, оно также представляет собой значительную инвестицию во время, усилия и часто в деньги. Ваше присутствие в интернете, скорее всего, напрямую связано с получением средств к существованию. Это будет либо прямой источник дохода (например, интернет-магазин), либо реклама ваших услуг для остального мира.

По этой причине в этой статье я хочу глубоко погрузиться в то, как обеспечить безопасность вашего сайта WordPress. Первая часть этого поста расскажет о рисках, связанных с работой сайта. Вторая часть будет о том, как повысить безопасность WordPress, чтобы ваш сайт не был взломан.

Это очень подробный (и, следовательно, длинный) пост. Так что возьмите себе кофе и начнем!

Как веб-сайты WordPress подвергаются риску?

Чтобы использовать упреждающий подход, сначала нужно узнать, как сайты взламываются. Только когда вы знаете слабые места, вы можете принять меры для их защиты.

Исследование еще 2012 года показало следующие основные направления успешных попыток взлома:

  • 41% пришел через уязвимость в платформе хостинга
  • 29% через уязвимость темы WordPress
  • 22% были охвачены проблемами безопасности плагинов WordPress
  • 8% взлома были через слабую защищенность для входа

Знание этого дает нам глубокое понимание того, как повысить безопасность WordPress. В этой статье вы узнаете, как защитить себя от взлома вашего сайта всеми способами, упомянутыми выше.

28 советов, как защитить свой WordPress

Принятие основных мер безопасности может пройти долгий путь, чтобы защитить себя от большинства атак. Люди, которые атакуют веб-сайты, не любят много работать. По этой причине решение наиболее распространенных проблем позаботится о значительной части попыток взлома.

1. Держите ваш компьютер в безопасности

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

  • Установите на компьютер сканер вирусов и вредоносных программ и регулярно запускайте сканирование.
  • Настройте брандмауэр компьютера. Загрузите один или используйте тот, который поставляется с вашей операционной системой.
  • Не входите на свой сайт WordPress через общедоступный Wi-Fi или незащищенное соединение. Если вы это сделаете, ваши учетные данные могут быть отслежены. Кроме того, будьте осторожны, чтобы никто не увидел ваш экран при входе в систему.
  • При доступе к серверу используйте SFTP (защищенный протокол передачи файлов) вместо незащищенного FTP, чтобы предотвратить мониторинг соединения.

2. Используйте хорошую хостинговую компанию

Другой основной мерой является выбор качественного хоста. Как видно выше, большинство успешных атак происходит с платформы хостинга. Это ваша первая линия обороны, и вы бы неплохо пошли на ту, которая серьезно относится к безопасности.

Как вы найдете один из них?

Один из способов – прочитать статью о лучшем хостинге WordPress на этом сайте. Кроме того, ищите хост, который:

  • поддерживает последние версии основных веб-технологий, таких как PHP и MySQL
  • предлагает хостинг, оптимизированный для WordPress
  • имеет брандмауэр, который также ориентирован на WordPress
  • предлагает сканирование вредоносных программ и обнаружение вторжений
  • кроме того, поставляется с CDN, который может рассортировать атаки и спам до того, как они попадут на ваш сайт.

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

3. Измените префикс таблицы WordPress во время установки

Помимо размещения вашего сайта на качественном хосте, во время установки вы также можете сделать несколько вещей, чтобы сделать WordPress более безопасным. Одним из них является установка пользовательского префикса таблицы.

Если вы загляните в базу данных WordPress стандартной установки, вы увидите, что все таблицы начинаются с wp_.

Сохранение этого делает ваш сайт более уязвимым для SQL-инъекций. Это потому, что для такого рода атак хакерам необходимо знать префикс таблицы. Конечно, стандартная настройка WordPress общеизвестна.

Простой способ повысить безопасность WordPress – превратить его в нечто случайное 8uh7zgokm_. Вы можете сделать это во время установки или, если у вас уже есть веб-сайт, изменив настройки ниже в файле wp-config.php.

Если вы не знаете, вы можете найти этот файл в корневом каталоге вашей установки WordPress. Я расскажу об этом подробнее ниже. Если вы нашли правильную строку, измените ее на свой собственный префикс, например:

После этого вам все равно придется обновить префикс внутри вашей базы данных. Один из самых простых способов сделать это через плагин безопасности, такой как iThemes Security.

4. Перейти на качественные темы и плагины

Следующими в очереди по наиболее распространенным направлениям атаки являются темы и плагины. Вместе они составили более половины всех взломанных сайтов. Вот как устранить их в качестве шлюзов для хакеров:

  • Имейте только то, что вам нужно. Наличие десятков плагинов, активных на вашем сайте, не только снижает производительность вашего сайта, но и делает его менее безопасным. Чем больше компонентов, тем выше риск. Поэтому регулярно проверяйте, можете ли вы деактивировать и удалять плагины и темы.
  • Ищите хорошо поддерживаемые плагины и темы. Если тема или плагин долгое время не обновлялись, высока вероятность того, что в них есть непропатченные дыры в безопасности или просто какой-то плохой код, который делает ваш сайт более уязвимым. По этой причине обратите внимание на уровень поддержки перед установкой.

Кроме того, крайне важно, чтобы вы не скачивали из неизвестных источников. Не все из них имеют в виду ваши интересы.

В лучшем случае вы получаете плохо запрограммированный плагин или тему, которая делает ваш сайт небезопасным. В худшем случае создатель намеренно включил вредоносный код для компрометации вашего сайта. Это особенно верно, если вы загружаете премиум-плагины “бесплатно”. Поэтому лучше придерживаться качественных источников, таких как каталог WordPress и проверенные поставщики.

5. Держите WordPress и его компоненты в актуальном состоянии

Новые версии WordPress не только приносят новые функции и улучшения, но и устраняют дыры в безопасности, выявленные на предыдущих итерациях. Это особенно верно для незначительных обновлений (которые вы можете определить по третьей цифре в их номере версии, например 5.1.1). Они выходят специально для этой цели.

Следовательно, крайне важно, чтобы вы применяли новые версии на своем сайте как можно скорее.

Незначительные обновления WordPress 5.0 применяются автоматически. Это было добавлено, чтобы обеспечить актуальность веб-сайтов с точки зрения безопасности. Тем не менее, основные обновления по-прежнему под вашей ответственностью. Создайте резервную копию и обновите свой сайт, как только увидите предупреждение на своем сервере. Сделайте то же самое для тем и плагинов.

Обратите внимание, что WordPress может автоматически применять основные обновления, а также обновления для плагинов и тем. Мы поговорим об этом ниже. Однако риск того, что что-то пойдет не так без вашего ведома, слишком велик. Поэтому, настоятельно не рекомендуется.

6. Предоставляйте доступ только тем, кому доверяете

Первый способ – предоставить доступ к сайту только тем людям, которые, как вы уверены, не будут использовать его в плохих целях. Любой, кому абсолютно не нужен доступ, не должен быть там.

Даже с теми, кого вы считаете заслуживающими доверия, важно предоставить им только те роли и возможности, которые им абсолютно необходимы. Таким образом, вероятность несчастных случаев (или умышленно плохих действий) значительно уменьшается.

Кстати, такое же усмотрение следует применять для доступа к вашей учетной записи хостинга, FTP-серверу и другой конфиденциальной информации.

7. Усильте свою регистрационную информацию

Самый простой способ повысить безопасность WordPress – использовать безопасную информацию для входа. Это долгий путь, чтобы предотвратить атаки методом “перебора паролей”, когда хакеры автоматически пробуют сотни различных комбинаций имени пользователя и пароля с помощью сценария, пока один из них не сработает.

Только WordFence зарегистрировал около 35 миллионов таких атак в июле 2020 года за день! И это только на сайтах, где работает их плагин.

Как следствие, лучше всего учитывать эти лучшие практики:

  • Не используйте имя пользователя “admin” – в более ранних версиях WordPress admin было именем пользователя по умолчанию для администратора. Хакеры нашли это легкой целью, поэтому она была изменена. Однако некоторые люди все еще создают это имя пользователя вручную. Не надо! Это одна из первых вещей, которую проверит любой хакер.
  • Создайте отдельную учетную запись для публикации. На заметку о том, что ваше имя пользователя должно храниться в секрете, рекомендуется создать отдельные учетные записи для администрирования и публикации контента. Если вы публикуете статьи под своей учетной записью администратора, имя пользователя будет отображаться в URL архива автора. Кроме того, наличие отдельных учетных записей для контента и администрирования также снижает вероятность несчастных случаев.
  • Выберите надежный пароль – WordPress предложит надежный пароль во время установки и всякий раз, когда вы захотите изменить его. Хотя вы, возможно, захотите пойти на что-то, что вы помните, обязательно обратите пристальное внимание на индикатор. Вы также можете использовать такой сервис, как Online Password Generator, чтобы создать его для вас.

Вы также можете использовать службу для защиты всех своих паролей, например, LastPass. Кроме того, если на вашем сайте есть другие люди с высоким уровнем разрешений, вы можете также заставить их использовать правильную информацию для входа в систему. Вместо того, чтобы просить их по электронной почте, делайте это с помощью Force Strong Passwords. На всякий случай, если вам нужно изменить имя администратора, следуйте этим инструкциям.

8. Измените сообщения об ошибках входа

По умолчанию, если кто-то пытается войти на ваш сайт с неверными учетными данными, WordPress сообщит ему, связана ли проблема с его именем пользователя или паролем.

Это определенно слишком много информации, поскольку она отдает половину того, что кому-то нужно, чтобы проникнуть на ваш сайт. Чтобы изменить его, используйте этот фрагмент кода в файле functions.php чтобы изменить сообщение.

Измените “Это было не совсем правильно …” на все, что вы хотите передать. Просто, но эффективно.

9. Ограничить попытки входа

Надежная информация для входа – это только одна часть уравнения. Если у вас будет достаточно времени и попыток, кто-нибудь все же сможет это сделать.

Поэтому рекомендуется повысить уровень безопасности, ограничив количество попыток. Плагины, такие как WP Limit Login Attempts, позволяют установить, как часто данный IP-адрес может отказать при входе в систему до того, как он будет временно или навсегда запрещен на вашем сайте.

10. Реализовать двухфакторную аутентификацию

Двухфакторная аутентификация означает не что иное, как создание дополнительного шага для входа людей на ваш сайт. Это может быть что-то вроде необходимости ввести код с мобильного телефона. Он блокирует автоматические атаки.

Вот некоторые плагины, которые позволяют вам реализовать двухфакторную аутентификацию:

11. Скрыть страницу входа

Еще один способ сохранить страницу входа в WordPress – это скрыть ее. Как известно всем, кто работал с WordPress, вы обычно обращаетесь к нему через “yourdomain.ru/wp-admin” или “yourdomain.ru/wp-login.php”.

Перемещение его на другой адрес означает, что автоматизированные сценарии будут нацелены не на то место. Многие из приведенных выше плагинов безопасности могут сделать это для вас. В дополнение к этому, Cerber Security & Antispam и WP Hide & Security Enhancer также имеют такую возможность. Вы также можете сделать это самостоятельно, используя код, описанный здесь.

12. Настройте SSL и HTTPS

Использование шифрования SSL предотвратит захват конфиденциальной информации. Если у вас есть интернет-магазин или другие вещи, которые необходимо защитить, это обязательно нужно иметь.

Однако шифрование также защищает ваши данные для входа и становится все более обязательным.

13. Автоматически обновляйте ваш сайт

Я говорил об автоматических обновлениях ранее. Помимо обновлений для минорных версий, вы также можете активировать ту же функцию для крупных обновлений, плагинов и тем. Это работает путем добавления следующих строк в wp-config.php:

Тем не менее, я должен еще раз предупредить вас, что риск взлома вашего сайта выше при использовании плагинов и крупных обновлений WordPress. По этой причине, может быть, лучше применить их вручную.

14. Добавить ключи безопасности

Ключи безопасности WordPress, также называемые “солями”, шифруют информацию, хранящуюся в файлах cookie браузера. Таким образом, они защищают пароли и другую конфиденциальную информацию. Сами ключи представляют собой фразы, используемые для рандомизации этой информации и хранящиеся внутри wp-config.php, в котором он говорит, что это:

Вы должны добавить их вручную (как видно из подсказки). К счастью, вам не нужно придумывать фразы самостоятельно. Вместо этого просто нажмите на генератор ключей и скопируйте и вставьте то, что вы там найдете. Это будет выглядеть примерно так:

15. Отключить редактор тем и плагинов

Чтобы внести изменения в ваш сайт, WordPress содержит внутренний редактор файлов тем и плагинов. Хотя это может быть полезно в некоторых ситуациях, это также очень рискованно.

Причина в том, что если кто-то получит доступ к бэк-энду вашего сайта, он может использовать редактор для удаления вашего сайта, даже не имея доступа к вашему серверу.

Чтобы избежать этого, отключите редактор, добавив следующую строку в ваш файл wp-config.php:

16. Отключите отчеты об ошибках PHP

Когда плагины или темы вызывают ошибку на вашем сайте, WordPress отобразит сообщение на вашем интерфейсе.

Это сообщение может содержать путь к проблемному файлу. Хакеры могут использовать эту информацию, чтобы лучше понять структуру вашего сервера и атаковать ваш сайт. Вот как это отключить внутри wp-config.php:

Если это не работает, это может быть связано с настройками хоста. В этом случае вам нужно поговорить с ними об отключении.

17. Защита важных файлов от доступа

.htaccess – еще один важный файл, который настраивает ваш сервер. Среди прочего, он содержит код, который позволяет использовать красивые постоянные ссылки в WordPress. Он также может устанавливать перенаправления и, как вы уже догадались, повысить безопасность WordPress.

Для последнего вам сначала нужно получить доступ к файлу, который находится в корневом каталоге вашего сервера и по умолчанию скрыт. Поэтому для его редактирования убедитесь, что ваш FTP-клиент отображает скрытые файлы ( “Сервер – Принудительно показывать скрытые файлы” в FileZilla). После этого примите следующие меры.

Приведенный ниже код запретит доступ к критическим файлам, таким как wp-config.php, php.ini, журналам ошибок и .htaccess.

При необходимости измените имя вашего файла php.ini (например, php5.ini или php7.ini). Обязательно размещайте код вне скобок #BEGIN WordPress и #END WordPress. Все внутри этого пространства может быть отредактировано WordPress и может привести к потере ваших изменений.

18. Ограничить доступ к файлам PHP

Кроме того, вы можете запретить другим пользователям получать доступ к файлам PHP и внедрять в них вредоносное ПО:

19. Предотвратите выполнение файлов PHP

Хакеры чаще всего загружают вредоносное ПО в папку “wp-content/uploads”. Чтобы предотвратить выполнение ими плохих кодов в случае взлома, используйте этот фрагмент кода:

20. Отключить инъекции скрипта

Пока вы это делаете, используйте этот фрагмент, чтобы посторонние не могли внедрить вредоносный код в ваши существующие файлы PHP:

21. Безопасный wp-includes

В этой папке wp-includes хранятся файлы ядра WordPress, в которые никто не должен вмешиваться. Чтобы убедиться, что этого не произойдет, используйте следующий код.

Не волнуйтесь, это не повлияет на вашу тему или файлы плагинов, так как они находятся в другом месте.

22. Ограничить доступ администратора к определенному IP-адресу

С .htaccess вы также можете ограничить доступ к вашей странице входа WordPress по IP-адресу. Только ты сможешь туда попасть. Для этого скопируйте и вставьте в него следующий код:

Не забудьте заменить примеры IP-адресов тем, к которому вы хотите предоставить доступ. Вы также можете добавить больше адресов, скопировав и вставив строку “Allow from…”. Все остальные попадут на страницу с ошибкой. Если вы не знаете свой IP, просто проверьте его здесь.

Имейте в виду, что для того, чтобы попасть в админ-панель WordPress с другого IP-адреса, вам нужно сначала изменить или добавить его в файл.

23. Блокировка определенных IP-адресов

Подобный метод доступен для блокировки IP-адресов, которые постоянно пытаются проникнуть на ваш сайт. Если вы заметили что-то подобное (например, из журналов вашего сервера), вы можете заблокировать их на своем сайте с помощью этого дополнения к .htaccess:

24. Запрет просмотра каталогов

По умолчанию любой может посмотреть на структуру каталогов любого сайта WordPress, просто указав полный путь к каталогам на панели браузера.

Хотя это не позволяет хакерам вносить изменения, знание структуры вашего сайта все равно поможет им. Поскольку вы хотите сделать их как можно более сложными, отключите просмотр каталогов внутри .htaccess.

25. Обратите внимание на права доступа к файлам

Использование правильных прав доступа к файлам на вашем сервере – это способ предотвратить изменение ваших файлов неуполномоченными лицами.

Как вы можете изменить права доступа к файлам?

С FileZilla это так же просто, как пометить элементы, которые вы хотите изменить, щелкнув правой кнопкой мыши, а затем выбрав “Права доступа к файлу…”.

В следующем окне вы можете установить уровень разрешений с помощью числового значения.

Как вы можете видеть, также возможно применить то же самое к файлам и/или каталогам на более низких уровнях. Гораздо практичнее, чем индивидуальное изменение разрешений.

Что касается того, что вы должны изменить их, WordPress рекомендует следующие настройки:

  • 755 или 750 для каталогов
  • 644 или 640 для файлов
  • 600 для wp-config.php

26. Удалить номер версии WordPress

По умолчанию WordPress содержит метатег внутри исходного кода, который будет отображать версию вашего сайта, а также добавлять ее в скрипты, загруженные в ваш раздел .

К сожалению, эта информация очень полезна для всех, кто пытается взломать ваш сайт, особенно если вы используете более старую версию WordPress с известной уязвимостью в безопасности. К счастью, удалить номер версии так же просто, как добавить следующее в начало файла function.php вашей темы:

27. Отключить XML-RPC

Эта аббревиатура является названием функции, которая позволяет удаленно подключаться к WordPress. Например, клиенты блогов используют это, и это также используется для трекбэков и пингбеков. К сожалению, это также иногда является целью хакеров, поэтому вы должны защитить его с помощью плагина Disable XML-RPC Pingback.

28. Резервное копирование

Упомянутые выше меры предосторожности хороши для обеспечения безопасности WordPress. Однако несчастные случаи все же случаются. Для дополнительной страховки всегда имейте под рукой свежую резервную копию.

Существует множество вариантов резервного копирования WordPress, поэтому я создал обширное руководство по этой теме. В нем вы найдете все, что вам нужно знать о создании резервных копий вашего сайта WordPress.

Думаешь, тебя взломали?

Если вы считаете, что приведенный выше совет пришел слишком поздно, и, возможно, вас уже взломали, есть способы выяснить это. Используйте эти инструменты, чтобы проверить, обоснованы ли ваши страхи (или просто используйте их в качестве меры предосторожности):

  • Общие проблемы безопасности – используйте Unmask Parasites и Web Inspector для проверки общих уязвимостей.
  • Спам – MX Toolbox сообщит вам, был ли ваш сайт включен в более ста черных списков рассылки.
  • Вредоносные программы – бесплатный сканер вредоносных программ Sucuri Website проверит ваш веб-сайт на наличие вредоносного кода и других проблем безопасности.

Как ваша безопасность WordPress?

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

Выше вы узнали об опасностях, с которыми сталкиваются веб-сайты WordPress, а также о множестве способов их предотвращения. Начиная с базовых рекомендаций по защите входа в систему, укреплению безопасности WordPress через wp-config.php и заканчивая универсальными подключаемыми .htaccess модулями безопасности, вы можете многое сделать.

Имейте в виду, что вам не нужно принимать все меры, описанные выше. Даже если вы возьмете только основные, вы будете лучше подготовлены, чем многие другие.

Тем не менее, большинство действий занимают очень мало времени. Следовательно, вы можете подумать о том, чтобы потратить десять минут здесь и там для дальнейшего улучшения вашей системы безопасности WordPress. Поверь мне, в конце ты будешь благодарен.

Какие ваши любимые меры безопасности WordPress? У вас есть что-нибудь добавить к вышесказанному? Дайте мне знать в комментариях ниже.

WordPress get posts – вывод записей без плагинов

Приветствую вас, дорогие друзья!

Давайте рассмотрим одну интересную функцию WordPress — get posts. С её помощью мы можем выводить статьи в любом месте шаблона сайта и для этого не нужно будет устанавливать дополнительные плагины.

Навигация по статье:

Функция get_posts в WordPress является одной из базовых функций при помощи которой выводятся статьи во многих темах.

Использование функции get_posts для вывода записей WordPress

Для использования get_posts в теме WordPress нам нужно:

    1. Подключаемся к сайту по FTP, например, в редакторе кода Notepad++ и открываем файл шаблона, в котором нужно вывести записи при помощи get_posts. Если вы ещё не знаете как это делается – то вам сюда тык.

Если вы не ищите лёгких путей, то можете сначала скачать нужный файл к себе на компьютер, внести в него правки и потом выгрузить обратно на хостинг.

Так же можно добавить код функции get_posts через встроенный редактор WordPress, который находится в разделе «Внешний вид»«Редактор», выбрав нужный файл на панели справа.

  • 3. Задаём нужные аргументы get posts и параметры вывода, а затем сохраняем файл и загружаем изменённый файл на хостинг если вы его скачивали для редактирования.
  • А теперь подробнее где и что менять.

    Аргументы функции WordРress get posts()

    Синтаксис функции get_posts выглядит следующим образом:

    где $args – это массив аргументов, при помощи которых мы задаём параметры вывода записей WordРress.

    В данном примере используются только 2 аргумента.

    На самом деле этих аргументов намного больше:

    1. 1. order – сортировка выводимых записей WordPress
      • ASC – в прямом порядке (по возрастанию)
      • DESC – в обратном порядке (по убыванию)

    Например:

    2. include – выводит статьи или страницы по ID

    Чтобы узнать ID статьи переходим в раздел «Записи»«Все записи».

    Наводим курсор на название интересующей нас статьи и смотрим на ссылку, которая появляется в нижнем левом углу. В этой ссылке есть целое число, которое и есть её идентификатором (ID) в WordPress.

    Например:

    Например:

    5. posts_per_page — задаёт количество выводимых постов (статей)
    Например:

    Например:

  • 8. tag – выводит статей с указанными тегами
  • 9. meta_key и meta_value – вывод статей и страниц с указанными произвольными полями
  • 10. offset – начиная с какой записи будет выводится список
    Например:

  • 11. post_parent – выводит дочерние страницы для страницы с указанным ID
  • 12. post_status – выводит записи в зависимости от статуса
    • publish — опубликованная статья или страница
    • private — личная запись
    • draft — черновик
    • future — запланированные записи
    • inherit — вложение
    • any — любые

    Например:

  • 13. post_type – тип поста
    • post — записи
    • page — страницы
    • attachment — прикрепленные вложения

    Например:

    Вывод элементов записи WordPress при помощи get_posts

    В приведённом выше примере кода мы выводим только название статьи и ссылку на неё, но можно выводить не только эти параметры.
    Для вывода изображения статьи с использованием get_posts используем следующий код:

    Для вывода описания добавляем:

    Для вывода даты:

    Пример универсального кода с использованием get_posts

    Для вашего удобства я объединила все эти аргументы и параметры в один фрагмент кода, который вы можете вывести в определённом месте и задать те значения, которые вам нужны. Остальные значения можно удалить или закомментировать.

    Куда вставлять этот код?

    Код функции get_posts нужно вставить в определённый файл шаблона темы. Название этого файла будет зависеть от того где вы хотите вывести статьи при помощи функции get_posts.
    Наиболее распространённые варианты:

    WP Magazine

    Про WordPress на русском языке

    Использование функции get_template_part() в WordPress

    Если вы занимаетесь разработкой тем для WordPress, то вы наверняка встречались с функцией get_template_part() , которая позволяет легко разбить шаблоны темы на несколько файлов. В данной статье мы рассмотрим возможности и некоторые особенности данной функции.

    Функция get_template_part() впервые появилась в WordPress версии 3.0. Она предназначена для поиска и подключения разных частей шаблона и похожа на внутренние функции PHP include() или require() , но с некоторыми отличиями:

    • get_template_part() знает где находится директория с вашими темами
    • Функция не вызовет ошибок или предупреждений PHP в случае, если запрашиваемый файл не найден
    • Функция get_template_part() может подключить альтернативный файл в случае если, первоначально запрашиваемый файл не найден
    • Функция прекрасно работает с дочерними темами в WordPress

    Основы get_template_part()

    Чаще всего функция get_template_part() используется для внедрения какой-либо части шаблона в теме WordPress (откуда и название), например навигационное меню, блок со схожими записями, пагинация и так далее.

    Рассмотрим несколько простых примеров:

    Данный код выполнит поиск файла navigation.php в активной теме WordPress, и подключит его. В отличие от include() или require() , функция get_template_part() не вызовет ошибок или предупреждений, если файл с таким названием не найден.

    У функции есть так же второй необязательный аргумент:

    Данный код выполнит и подключит файл navigation-header.php в активной теме. Если файл с таким названием не существует, то get_template_part() попытается подключить файл navigation.php.

    Дочерние темы

    В дочерних темах работа с функцией get_template_part() становится немного сложнее. Например:

    Если в момент вызова данной функции на сайте активна дочерняя тема, то поиск файла breadcrumbs.php произойдет сперва в дочерней теме. Если файл с таким названием в дочерней теме отсутствует, то функция попытается подключить файл breadcrumbs.php в родительской теме.

    При таком вызове из дочерней темы, поиск и подключение файлов произойдет в следующем порядке:

    • breadcrumbs-header.php в дочерней теме
    • breadcrumbs-header.php в родительской теме
    • breadcrumbs.php в дочерней теме
    • breadcrumbs.php в родительской теме

    Таким образом, если вы разрабатываете тему для WordPress, вы можете дать возможность пользователям легко изменить или предотвратить вывод хлебных крошек в определенных участках темы. Для этого пользователям нужно будет лишь создать файл с определенным именем в дочерней теме.

    Форматы записей

    Начиная со стандартной темы Twenty Eleven, при выводе содержимого записей в шаблонах используется функция get_template_part() вместе с функцией get_post_format() , которая возвращает формат текущей записи в виде строки:

    Данный подход позволяет разделить вывод разных форматов записей на разные файлы, например content-gallery.php для галерей, content-quote.php для цитат, content-image.php для изображений и т.д. Если тот или иной файл не существует, WordPress будет искать файл с названием content.php.

    » data-medium-file=»https://wpmag.ru/wp-content/uploads/sites/13/2014/04/twentytwelve-wordpress-structure-300×107.png» data-large-file=»https://wpmag.ru/wp-content/uploads/sites/13/2014/04/twentytwelve-wordpress-structure.png» src=»https://wpmag-22.cdn.pjtsu.com/wp-content/uploads/sites/13/2014/04/twentytwelve-wordpress-structure.png?w=780″ alt=»Структура файлов в теме Twenty Twelve» w />

    Структура файлов в теме Twenty Twelve

    Пользователям такой темы легко изменить вывод того или иного формата создав новый файл с определенным названием в дочерней теме WordPress.

    Функция locate_template()

    Функция get_template_part() , как и многие другие функции для работы с файлами шаблонов WordPress (в том числе get_header() , get_sidebar() , get_footer() и другие) использует функцию ядра locate_template() . Именно эта функция позволяет выбрать и загрузить первый попавшийся файл из заданного массива в дочерней или родительской теме WordPress:

    Данный код выполнит поиск файлов в следующем порядке:

    • foo.php в дочерней теме
    • foo.php в родительской теме
    • bar.php в дочерней теме
    • bar.php в родительской теме
    • baz.php в дочерней теме
    • baz.php в родительской теме

    Учтите, что в отличие от функции get_template_part() , функция locate_template() требует полное название файлов в массиве, включая расширение .php. Именно функция locate_template() позволяет реализовать иерархию шаблонов в темах для WordPress.

    Есть ли в wordpress функция защиты $_GET[‘ ‘] ?

    Согласно статистике, хакеры атакуют сайты на Вордпресс примерно 90.000 раз в минуту. Некоторые думают, что сайт в безопасности, потому что он не представляет интереса для хакеров, но это не так.

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

    Обычно хакеры взламывают сайты для рассылки спама, редиректа на свои сайты, кражи личных данных и использования сервера в качестве хранилища какой-нибудь информации или файлообменника. Очень редко хакеры взламывают какой-то конкретный сайт. В большинстве случаев хакеры при помощи ботов автоматически взламывают десятки сайтов, и используют ресурсы этих сайтов для своих дел.

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

    Насколько безопасен Вордпресс

    На Вордпрессе работает более 30% сайтов в Интернете, и он является самой популярной системой управления контентом. Более 80% атак на CMS приходится на Вордпресс, но он остается самой популярной платформой.

    Разработчики Вордпресс постоянно работают над устранением найденных уязвимостей и выпускают обновления Вордпресс.

    C момента выхода первой версии Вордпресс было выпущено более 2.500 исправлений уязвимостей. Были случаи, когда обновления выходили менее чем через 40 минут после обнаружения уязвимости.

    Хакботы обходят десятки тысяч сайтов в час, имея описания известных уязвимостей устаревших версий Вордпресс, тем и плагинов. Если вы используете устаревший софт, то рано или поздно такой бот найдет сайт, на котором используется устаревшая версия.

    Правило безопасности №1 от разработчиков всех плагинов и сервисов безопасности — регулярно обновляйте Вордпресс, плагины и темы. Другие меры безопасности тоже нужны, но они становятся менее эффективными, если ядро Вордпресс не обновлено.

    Для максимальной безопасности сайта нужно обновлять Вордпресс. Можно включить автоматическое обновление, или оставить обновление в ручном режиме.

    Почему ваш сайт является целью для злоумышленников

    Не только ваш, но вообще все сайты на Вордпресс являются целью для хакеров. Даже абсолютно новый сайт без контента, без трафика, с обновленным ядром может быть взломан хакерами и использован в своих целях.

    Все Вордпресс сайты являются целью для хакеров из-за своей популярности. Хакеры пишут ботов, которые обходят сотни тысяч сайтов и сканируют их на списки уязвимостей. Чем больше сайтов будет просканировано, тем выше вероятность найти уязвимость и получить какой-то контроль над сайтом.

    В 2020 году более 85 млн. сайтов в Интернете работает на Вордпресс, поэтому вероятность что-то найти достаточно высока.

    Молодые сайты обычно менее защищены от атак, потому что их владельцы думают, что их сайты не представляют интереса для хакеров, но на самом деле молодые сайты — одна из целей хакеров, потому что их проще взломать.

    Хакеры взламывают сайты для того, чтобы:

    • Добавить вредоносный контент на сайт — Хакеры взламывают сайты, чтобы внедрить вредоносный контент во фронт-энд. Обычно это ссылки на хакерские сайты, реклама казино, кошельков, виагры и тому подобное.
    • Использовать ресурсы сервера — Хакеры используют ресурсы сервера или канал интернета для рассылки спама, криптовалютного майнинга, файлообменника, хранения информация или для атаки на другие сайты.
    • Получить данные посетителя — Кибератаки касаются не только владельцев сайтов, но и посетителей сайта. Многие люди используют одни и те же данные для своих аккаунтов на разных сайтах или сервисах, для е-мейла, интернет банка и так далее.
    • Получить бизнес-информацию — Хакеры не всегда атакуют сайты для получения пользовательских данных. Иногда они взламывают сайты, чтобы получить важную информацию о бизнесе этого сайта.
    • Распространение вредоносных программ — Распространение вирусов и вредоносных программ на компьютеры и устройства посетителей.

    Большие сайты тоже являются целью хакеров, потому что большой аудитории сайта можно начать рассылать спам.

    Как хакеры взламывают сайты

    Когда разработчики пишут код, практически невозможно не оставить какую-то уязвимость в безопасности. Когда хакеры находят эти дыры, они используют их, чтобы взломать сайт.

    Другие способы получить контроль над сайтом — использование человеческих ошибок, например, слишком простые пароли, или ненадежный или небезопасный хостинг.

    Список основных типов угроз для Вордпресс:

    • Межсайтовое выполнение сценариев (XSS, Cross-site Scripting) — хакер внедряет какой-то код на страницу сайта, при загрузке страницы скрипт выполняется на компьютере посетителя.
    • SQL внедрения (SQLI, SQL Injections) — SQL запросы исполняются из строки браузера.
    • Загрузка файла — файл с вредоносным кодом загружается на сервер.
    • Фальсификация межсайтового запроса (CSRF, Cross-Site Request Forgery) — код или запрос исполняется из строки браузера.
    • Перебор паролей (Brute Force) — множественные попытки подобрать логин и пароль.
    • DoS-атаки (Denial of Servise) — попытка перегрузить и повесить сайт большим количеством трафика от ботов.
    • DDoS-атаки (Distributed Denial of Servise) — попытка повесить сайт из разных мест, например, с зараженных компьютеров или роутеров.
    • Кража личных данных (Phishing) — хакеры публикуют страницы, которые похожи на страницы атакованного сайта. Пользователь не видит подмены и может оставить свои личные данные в форме авторизации, подписки и так далее.
    • Редирект — используется какая-то уязвимость, которая переадресует запрос к странице на постороннюю страницу, обычно с целью кражи личных данных или спама.
    • Вредоносный код (Malware) — скрипт или программа, которая делает нужные хакеру действия на вашем сайте.
    • Внедрение файла (LFI, Local File Inclusion) — злоумышленник может контролировать, какой файл исполняется в определенное время по расписанию CMS или какого-то приложения.
    • Обход авторизации (Authentication Bypass) — дыра в безопасности, которая позволяет хакерам обходить форму входа и получать доступ к сайту.
    • Показ пути к сайту (FPD, Full Path Disclosure) — отображается полный путь к корневой папке сайта, видимы папки, логи ошибок и предупреждений.
    • Нумерация пользователей (User Enumeration) — возможность узнать логины пользователей сайта. К URL сайта добавляется запрос ID пользователя, который возвращает профиль пользователя с его логином. Используется вместе с методом перебора паролей.
    • Обход системы безопасности (Security Bypass) — хакеры обходят систему безопасности и получают доступ к незащищенной части сайта.
    • Удаленное исполнение кода (RCE, Remote Code Execution) — хакер запускает исполнение кода на сайте с другого сайта или компьютера.
    • Удаленное внедрение файла (RFI, Remote File Inclusion) — использование ссылки на внешний скрипт для загрузки вредоносного кода с другого компьютера или сайта.
    • Подделка запроса на стороне сервера (SSRF, Server Side Request Forgery) — хакер управляет сервером частично или полностью для выполнения удаленных запросов.

    Это основные уязвимости Вордпресс, которые хакеры используют для взлома, в основном при помощи ботов. Боты также могут найти сразу несколько уязвимостей.

    Согласно исследованию WP WhiteSecurity, 54% уязвимостей выявлено в плагинах Вордпресс, 31,5% уязвимостей в ядре Вордпресс и 14,3% уязвимостей — в темах Вордпресс.

    Распространение типов уязвимостей согласно Wordfence и WP WhiteSecurity:

    Другое исследование WP WhiteSecurity, проведенное на 42.000 сайтах из рейтинга Алекса Топ-1.000.000, говорит о том, что 73,2% сайтов имеют уязвимости из-за необновленной версии Вордпресс.

    Основные требования к безопасности сайта

    От безопасности вашего компьютера зависит безопасность вашего сайта. Вредоносное ПО и вирусы могут заразить ваш сайт и сотни других сайтов.

    Эти рекомендации увеличат безопасность вашего компьютера и сайта:

    1. Используйтете антивирус и файрвол на своем компьютере.
    2. Не заходите на свой сайт в публичных местах, потому что данные, которые вы пересылаете через публичный Wi-Fi, могут быть перехвачены злоумышленниками.
    3. Не используйте небезопасные сети или соединения.
    4. Используйте надежный хостинг.
    5. Используйте сложные пароли для входа на сайт. Установите рекомендуемый минимум сложности паролей для других пользователей сайта.
    6. Подумайте о выключении возможности для пользователей загружать картинки на сайт. Злоумышленник может загрузить скрипт на сайт под видом аватара с названием avatar.jpg.php, который может использовать какую-то уязвимость.
    7. Используйте безопасный FTP (FTPS) вместо обычного FTP.
    8. Вместо FTP вы можете использовать SSH (SFTP), он безопаснее FTP.
    9. Давайте доступ к админской или редакторской части только тем, кому вы доверяете.
    10. Давайте доступ к хостингу и FTP только тем, кому доверяете. Вы можете создать еще один аккаунт с уменьшенными правами и дать доступ к нему.
    11. Если вы не пользуетесь FTP, удалите или отключите подключения.
    12. Настройте бэкап сайта.
    13. Регулярно обновляйте Вордпресс, плагины и темы.
    14. Не одобряйте непонятные комментарии с бэклинками.
    15. Используйте популярные плагины с большим количеством установок и частым обновлением.
    16. Установите SSL сертификат на сайт.
    17. Используйте CDN, это помогает предотвратить DoS и DDoS атаки.
    • Бэкап Вордпресс
    • Минимальная безопасность Вордпресс

    Как скрыть данные о Вордпресс

    Скрытие данных о Вордпресс, например, версии ядра или изменение адреса входа в админку — один из способов увеличить безопасность сайта.

    Еще в одном исследовании WP WhiteSecurity говорится, что только 8% сайтов было взломано вручную методом перебора паролей, 92% сайтов были взломаны ботами автоматически, из них 41% — через уязвимости в ПО хостинга, 29% — через уязвимости в файлах темы, 22% — через уязвимости в плагинах.

    Боты пытаются взломать сайт по заранее определенному алгоритму. Они пытаются подобрать логин и пароль на странице входа или пытаются получить тот или иной контроль над сайтом по спискам уязвимостей устаревших версий. Если взлом не получился — они уходят на другие сайты.

    Большинство ботов используют этот тип взлома, для защиты сайта от более редких ботов настройте как можно больше рекомендаций из этой статьи.

    Удалите версию Вордпресс

    Списки уязвимостей предыдущих версий Вордпресс находятся в открытом доступе, поэтому удаление информации об используемой версии ПО увеличивает безопасность сайта.

    Удалите все упоминания о версии ядра Вордпресс, версии скриптов и стилей и тег в фиде RSS.

    Перенесите страницу авторизации

    По умолчанию страница авторизации находится по адресу /wp-login.php . Боты приходят по этому адресу и пытаются подобрать логин и пароль по спискам популярных логинов и паролей, которые находятся в открытом доступе.

    Это называется brute force attack, или атака грубой силой, или атака методом перебора паролей.

    Чтобы боты не могли пробовать подобрать комбинацию для входа, перенесите страницу авторизации в другое место. Например, /settings .

    Измените структуру расположения файлов и папок

    Вордпресс — открытая платформа, информация о которой находится в открытом доступе, поэтому хакеры могут использовать какую-то информацию о Вордпресс для взлома сайта.

    В документации Вордпресс описана структура расположения файлов и папок. Используя эту информацию, хакеры могут решить, каким путем они попытаются проникнуть на сайт.

    Измените имя пользователя по умолчанию

    Когда вы устанавливаете Вордпресс, администратору сайта по умолчанию дается имя пользователя «admin». Это одно из стандартных имен, которое пробуется ботами, когда они пытаются попасть на сайт методом перебора паролей.

    Если вы оставите как есть, то злоумышленнику остается подобрать только пароль, так как имя «admin» уже известно.

    Измените стандартное имя пользователя, тогда хакерам придется подобрать и логин, и пароль.

    Ограничьте количество попыток доступа на сайт

    По умолчанию Вордпресс не ограничивает количество попыток входа на сайт. То есть, если посетитель ввел неверный логин или пароль, он может попробовать ввести их еще раз столько раз, сколько захочет. Это дает хакерам возможность перебирать логины и пароли большое количество раз, пока они не подберут верную комбинацию.

    Чтобы этого не случилось, установите плагин безопасности, который будет ограничивать количество попыток входа на сайт. Есть специальные плагины для решения только этой задачи, например, Limit Login Attempts Reloaded или Login LockDown, есть большие плагины безопасности, в которых эта функция находится в числе других, например, Wordfence или All In One WP Security & Firewall.

    Удалите ненужные файлы

    После установки Вордпресс можно удалить несколько файлов, которые больше не нужны.

    • readme.html
    • wp-config-sample.php
    • /wp-admin/install.php

    В файле readme.html содержится информация об используемой версии Вордпресс. Хакеры могут использовать публичную информацию об уязвимостях используемой версии Вордпресс, чтобы проникнуть на ваш сайт.

    Добавьте правила в WP-Config.php

    Это главный файл сайта, который находится в корневой папке. Добавляйте свои записи в wp-config перед строкой:

    В этом разделе правила для повышения безопасности сайта в файле wp-config.php.

    Переместите файл wp-config.php

    В файле wp-config.php находится много важной информации, которая не должна быть доступна посторонним. Вы можете переместить этот файл в другое место, чтобы хакеры не смогли найти его в его обычном месте.

    Если ваш сайт находится в корневой папке, перенесите wp-config.php на один уровень вверх.

    Или вы можете перенести этот файл в любое другое место. Создайте в корневой папке новый файл с именем wp-config.php, и вставьте в него этот код:

    Замените /путь/к/wp-config.php на ваш адрес к файлу после перемещения.

    Проверьте права доступа к файлам и папкам

    Файлам и папкам Вордпресс должны быть даны права доступа 644 и 755. Некоторым файлам и папкам могут быть даны особые права, например, файлу wp-config.php должны быть даны права 440 или 400.

    В файле wp-config вы можете автоматически установить права доступа ко всем файлам и папкам на сайте:

    Важным файлам и папкам вы можете дать более строгие права вручную.

    1. Корневая папка сайта — /сайт.ru/public_html/ — 750
    2. .htaccess — /сайт.ru/public_html/.htaccess — 640
    3. wp-admin/ — /сайт.ru/public_html/wp-admin — 750
    4. wp-admin/js/ — /сайт.ru/public_html/wp-admin/js/ — 750
    5. wp-admin/index.php — /сайт.ru/public_html/wp-admin/index.php — 640
    6. wp-content/ — /сайт.ru/public_html/wp-content — 750
    7. wp-content/themes/ — /сайт.ru/public_html/wp-content/themes — 750
    8. wp-content/plugins/ — /сайт.ru/public_html/wp-content/plugins — 750
    9. wp-includes/ — /сайт.ru/public_html/wp-includes — 750
    • Права доступа к файлам и папкам.

    Измените префикс базы данных

    Таблицы базы данных имеют по умолчанию префикс wp_ . Измените префикс на что-нибудь другое, чтобы усложнить задачу хакерам.

    Для изменения префикса базы данных надо внести изменения в файл wp-config.php и базу данных.

    Отключите редактирование файлов в панели Вордпресс

    В панели администратора находится редактор файлов, в котором вы можете редактировать файлы установленных плагинов и тем.

    Редактировать файлы тем вы можете в разделе Внешний видРедактор, файлы плагинов в разделе ПлагиныРедактор.

    Многие разработчики считают доступ к редактированию файлов в панели Вордпресс опасным, потому что если хакер попадет в админскую часть сайта, у него появится доступ к этим файлам.

    С другой стороны, если злоумышленник получил доступ к админской части сайта, то уже ничего не поможет.

    Возможно, запрет на редактирование php файлов в админке даст вам некоторое время, чтобы попробовать вернуть контроль над сайтом. Выключить редактирование файлов в админке можно так:

    Смените ключи безопасности

    В файле wp-config.php находятся ключи безопасности, с помощью которых шифруется информация, хранящаяся в cookies. Меняйте их время от времени, это сделает cookies, хранящиеся в браузерах пользователей, в том числе хакеров, недействительными. Для входа на сайт нужно будет авторизоваться еще раз.

    Вы можете сгенерировать новые ключи безопасности в генераторе ключей Вордпресс, скопируйте их оттуда и вставьте в свой файл wp-config.php:

    Используйте SSL

    После того, как вы установили SSL сертификат на свой домен, включите его принудительное использование, чтобы все посетители сайта подключались к сайту по безопасному соединению.

    Чтобы зашифровать логин и пароль во время передачи их серверу, добавьте эту строку:

    Чтобы использовать SSL в админской части сайта, например, для шифрования cookies сессии, добавьте эту строку:

    Добавьте эти строки в файл wp-config.php перед строкой:

    Чтобы использовать SSL во фронт-энде сайта добавьте эту запись в файл .htaccess:

    Замените ваш-сайт.ru на свой адрес.

    Если у вас уже есть стандартная запись, которую добавляет Вордпресс,

    то вы можете добавить в эту запись только строки 3 и 4 из первого правила.

    Используйте FTPS

    Чтобы использовать FTPS через небезопасное FTP соединение, добавьте это правило перед строкой «Это все, дальше не редактируем»:

    Используйте SFTP

    Чтобы повысить безопасность SSH подключения, вы можете использовать SFTP соединение, если эта функция включена на хостинге.

    Выключите режим debug

    По умолчанию режим debug выключен и должен быть выключен до тех пор, пока вы не обнаружите ошибки на сайте.

    Если вы хотите включить режим debug и отображение ошибок во фронтэнде, замените false на true .

    Включите автообновление Вордпресс

    Если вы хотите включить автообновление Вордпресс, добавьте это правило:

    Если вы хотите сначала протестировать обновления, то оставьте обновление вручную, или включите выборочное обновление плагинов:

    Добавьте правила в .htaccess

    В этом разделе правила для повышения безопасности сайта в файле .htaccess.

    Запретите доступ к важным файлам

    Вы можете закрыть доступ к важным файлам wp-config.php, htaccess, php.ini и логам ошибок. Добавьте это правило из Кодекса Вордпресс:

    Если у вас есть файл php5.ini или php7.ini вместо php.ini, замените php.ini в первой строке на ваш файл.

    Запретите доступ к PHP файлам

    Ограничьте доступ к php файлам тем и плагинов, так как хакеры могут внедрить в них вредоносный код.

    Запретите доступ к папке wp-includes

    В папке wp-includes находятся важные файлы, которые могут быть использованы для взлома сайта.

    Добавьте это правило, чтобы защитить /wp-includes/ :

    Ограничьте доступ к странице авторизации

    Кроме изменения адреса страницы авторизации вы можете ограничить пользователей, которым разрешено заходить на страницу входа.

    Вы можете разрешить доступ нескольким статическим IP адресам:

    Строки 2 и 3 перенаправляют посетителя на страницу с ошибкой 404, если они пришли не с адресов, указанных в этом правиле. Это правило не вызывает ситуацию цикличных редиректов, поэтому ваш сайт не будет выглядеть как зависший.

    Замените /путь-к-вашему-сайту/ в двух первых строчках на свой адрес.
    Замените IP Адрес 1 , IP Адрес 2 и IP Адрес 3 на те IP адреса, с которых вы хотите иметь доступ к страницам wp-login.php и wp-admin.

    Если вам нужен только один IP адрес, удалите строки 10 и 11, если вам нужно больше адресов, добавьте нужное количество строк.

    Не забудьте дополнить или отключить это правило если вы поедете путешествовать, иначе вы попадете на страницу 404.

    Если вы или другие пользователи имеете динамические IP (или Мультисайт), используйте это правило:

    Замените /путь-к-вашему-сайту/ и /ваш-сайт.ru/ на свой адрес.

    Хакеры используют ботов, чтобы пытаться попасть в админку Вордпресс. Это правило определяет, что только те пользователи, которые вручную набрали wp-login.php или wp-admin в браузере, получат доступ к этим страницам.

    Этот способ не защитит от хакеров, которые вручную набирают адрес страницы авторизации, но значительно уменьшит количество атак с перебором паролей.

    Еще один способ — создайте файл .htaccess в папке wp-admin . Это правило разрешает доступ к папке только указанным ip:

    Замените IP Адрес 1 и IP Адрес 2 на свои IP.

    Запретите доступ к директориям сайта

    Хакер может получить доступ к папкам сайта, если введет в адресной строке полный путь к нужной папке.

    Например, злоумышленник может увидеть содержимое папки uploads, если введет в адресной строке ваш-сайт.ru/wp-content/uploads/ .

    Если у вас настроены права доступа, то редактировать эти файлы должно быть невозможно, но доступ к этим папкам все равно лучше запретить.

    Чтобы закрыть доступ к директориям сайта, добавьте это правило в .htaccess:

    Добавьте лимит на загружаемые файлы

    Ограничьте максимальный размер загружаемых файлов 10Мб:

    Отключите нумерацию пользователей

    Если злоумышленник введёт в строку адреса ваш-сайт.ru/?author=1 , он будет перенаправлен на страницу пользователя с >

    В этом случае хакер будет знать имя пользователя, и ему останется только узнать пароль.

    Даже если пользователи используют сложные пароли, злоумышленнику лучше не знать ID пользователей. Добавьте этот код в .htaccess:

    Или добавьте этот код в functions.php:

    Запретите исполнение php файлов

    Обычно хакеры загружают вредоносный код в папку /wp-content/uploads/ .

    Добавьте это правило, чтобы отключить возможность исполнять php файлы в папке uploads:

    Замените /var/www/ в строке 2 на свой адрес.

    Защитите сайт от внедрения вредоносных скриптов

    Запретите внедрение кода в php файлы. Добавьте это правило:

    Отключите информацию об используемой версии ПО сервера

    Подпись Сервера — это служебная информация, в которой говорится, что сайт использует, например, сервер Apache определенной версии и ОС Ubuntu определенной версии.

    Чтобы отключить показ версий ПО на вашем сервере, добавьте этот код .htaccess:

    Удалите пользователя с ID 1

    При установке Вордпресс по умолчанию создается пользователь с правами администратора с >

    Создайте нового пользователя с правами администратора, зайдите на сайт под новым аккаунтом и удалите старого администратора с ID 1.

    С другой стороны, некоторым плагинам требуются дополнительные права для своей работы, которых у них может не быть, если создать нового пользователя с правами администратора.

    Измените текст ошибки при входе на сайт

    По умолчанию Вордпресс показывает стандартное сообщение на странице авторизации, когда посетитель вводит неправильный логин или пароль. В этом сообщении говорится, что именно было введено неправильно, — логин или пароль.

    Когда хакер вводит неверный пароль к верному имени пользователя, Вордпресс показывает сообщение, что пароль неверный. Это дает ему понять, что имя пользователя верное.

    Чтобы изменить текст сообщения, добавьте эти строки в functions.php .

    Замените сообщение в строке 2 на свое сообщение.

    Отключите XML-RPC

    XML-RPC — это API интерфейс, который используется для доступа к сайту через мобильные приложения, для трекбэков и пингбэков и используется плагином Jetpack. Если вы пользуетесь чем-то из этого, то оставьте эту функцию включенной или частично включенной. С другой стороны, XML-RPC может быть использован хакерами для атак с перебором логинов и паролей.

    Вместо того, чтобы пытаться подобрать логин и пароль на обычной странице авторизации, где у вас может быть установлено ограничение на количество попыток входа, бот может попробовать неограниченное количество комбинаций через интерфейс xml-rpc.

    Чтобы противостоять таким атакам, используйте сложные логины и пароли. Другая проблема в том, что брут-форс атаки расходуют большое количество ресурсов сервера. Если ваш сайт находится на недорогом хостинге, в результате такой атаки сайт может зависнуть из-за использования всех ресурсов сервера.

    Чтобы полностью отключить XML-RPC, добавьте это правило в .htaccess:

    Установите пароль на доступ к wp-login.php

    Вы можете установить дополнительный пароль на доступ к странице wp-login.php или папке wp-admin.

    Для этого нужно создать файл с паролями и добавить код в .htaccess.

    Используйте двух-факторную авторизацию

    Двух-факторная авторизацация — это идентификация через логин и пароль и дополнительная идентификация через е-мейл или смартфон. Для включения двойной авторизации есть бесплатные плагины, например, Google Two-Factor Authentication, Google Authenticator или Duo Two-Factor Authentication.

    Как бороться со спамом

    Спам на сайте — это намного больше, чем просто надоедливый мусор. Спам может привести к заражению сайта, брут-форс или DDoS атакам. Защита от спама — одна из составляющих безопасности сайта.

    Плагин Kama SpamBlock — очень эффективное средство для борьбы со спамом. Если вы знаете что-то более эффективное — поделитесь этим в комментариях.

    Плагины безопасности Вордпресс

    Sucuri Security

    Current Version: 1.8.21

    Last Updated: 09.05.2020

    Sucuri Inc является «всемирно признанным авторитетом во всем, что касается безопасности Вордпресс». Так и есть, сервис Сукури предлагает комплексную защиту сайта: обработку и фильтрацию всего входящего трафика на серверах Сукури, кеширование, сеть CDN и гарантию бесплатного лечения сайта в случае, если сайт взломают.

    Бесплатный плагин сравнивает файлы ядра Вордпресс с файлами в репозитарии Вордпресс, сканирует сайт на вирусы, проверяет, был ли сайт был занесен в черные списки и ведет логи событий.

    В случае подозрительной активности на сайте плагин посылает сообщение на е-мейл.

    Вся эта информация отображается в удобном виде в админке Вордпресс.

    Wordfence

    Current Version: 7.4.1

    Last Updated: 06.11.2020

    Один из самых популярных и мощных плагинов безопасности Вордпресс. Платная и бесплатная версии обнаруживают вредоносный код и защищают сайт практически от всех видов угроз. База данных плагина постоянно обновляется, — как только появляется новая угроза, она попадает в базу данных платной версии, и через 30 дней — в базу бесплатной версии.

    В Wordfence есть функция обнаружения изменения или добавления файлов. Когда существующий файл сайта обновляется или добавляется новый файл, Вордфенс сообщает об этом и предлагает отменить изменение или удалить файл.

    В Вордфенсе есть функция сканирования файлов сайта, встроенный файрвол и множество других функций.

    У плагина более 2-х миллионов установок и высокий рейтинг.

    iThemes Security

    Current Version: 7.4.1

    Last Updated: 15.08.2020

    iThemes Security — мощный плагин из тройки лидеров. У него есть база с последними хаками, бэкдорами и другими угрозами.

    Бесплатная версия хорошо защищает чистый сайт, имеет более 30 функций, но если вы хотите знать, когда файлы изменялись и делать подробное скаирование сайта, вам нужно купить премиум версию.

    Еще одна крутая функция этого плагина — бэкап сайта. Если вы обнаружили, что сайт был взломан, можно попробовать восстановить более раннюю версию сайта.

    Security Ninja

    Current Version: 5.69

    Last Updated: 06.11.2020

    Мощный премиум плагин безопасности, который легко настроить. В бесплатной версии проверяет сайт на наличие основных уязвимостей и предлагает инструкции по их устранению.

    В платной версии добавляется авто-применение защитных функций плагина, сканер ядра, который сравнивает файлы вашей установки Вордпресс с оригинальными файлами на сайте Вордпресс, сканер сайта на наличие вредоносного ПО и облачный файрвол, в который добавляются IP, распространяющие вредоносное ПО и спам.

    Весь плагин можно настроить за 15 минут.

    All In One WP Security & Firewall

    Current Version: 4.4.2

    Last Updated: 24.10.2020

    Большой бесплатный плагин со множеством настроек, имеет встроенный файрвол. Защищает файлы сайта и базу данных. Большинство функций работают в пассивном режиме, потребляет мало ресурсов. В платной версии есть сканер сайта на наличие вредоносного ПО.

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

    Плагин скорее предназначен для предупреждения заражений, чем для лечения, поэтому его лучше устанавливать на свежий или вылеченный сайт.

    BulletProof Security

    Current Version: 3.7

    Last Updated: 25.09.2020

    Еще один плагин, который вы можете использовать. У этого плагина есть премиум версия, в которой доступен полный бэкап сайта и несколько других опций для повышения безопасности.

    Defender Security, Monitoring, and Hack Protection

    Current Version: 2.1.5

    Last Updated: 16.10.2020

    Хороший плагин с простым интерфейсом. Большинство функций доступно только в платной версии.

    SecuPress

    Current Version: 1.4.10

    Last Updated: 25.10.2020

    Плагин сканирует сайт на наличие вредоносного кода, блокирует ботов и подозрительные IP адреса, как и другие плагины. В платной версии доступно больше опций.

    SiteLock Security

    Current Version: 4.0.5

    Last Updated: 20.04.2020

    Бесплатный плагин с множеством функций, сканирует сайт на уязвимости с обновлениями в реальном времени.

    Как поддерживать безопасность сайта

    Безопасность Вордпресс — это устранение как можно большего количества уязвимостей, так как уязвимость — это пропуск на сайт. Хакеры ищут самый простой способ попасть на сайт. Сайты с уязвимостями в безопасности являются для них такой целью. С помощью этого руководства вы можете эффективно отражать 99,99% атак на свой сайт.

    Используйте плагин безопасности

    Большинство техник из этого руководства можно включить в плагинах безопасности. Установите и настройте один из них, это защитит ваш сайт и вам не нужно будет помнить, какие техники вы применили или могли забыть.

    Сам по себе Вордпресс достаточно безопасен если его регулярно обновлять, но хакеры постоянно находят новые уязвимости в ПО. Плагин безопасности поможет защитить ваш сайт, пока разработчики Вордпресс работают над устранением этой уязвимости.

    Регулярно сканируйте сайт

    После того, как вы установили плагин безопасности, настройте регулярное сканирование. Автоматическое сканирование по расписанию находится в платных плагинах, но в некоторых бесплатных оно тоже есть. Например, Sucuri Security.

    Без регулярного сканирования уязвимость может пройти незамеченной, и это может привести ко взлому сайта. Вы об этом можете узнать, когда поисковики пометят ваш сайт как «содержащий вредоносный код» и понизят его в поисковой выдаче.

    Установите частоту сканирования немного меньше, чем частота бэкапа. Если сайт взломают, будет из чего его восстановить.

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

    Когда вы устанавливаете сайт на хостинге, в это же время начинают вестись логи событий. Где-то на вашем аккаунте должны храниться логи ошибок и логи доступа.

    Обычно называются «Логи», если вы не можете их найти, спросите у техподдержки.

    Логи событий — это записи о том, как кто-то получал доступ к сайту, просматривал важные файлы или пытался получить к ним доступ. Если вы будете время от времени просматривать логи, вы можете обратить внимание на какую-то необычную активность.

    Например, если обычные посетители пытались получить доступ к файлам .htaccess или wp-config.php. Если вы видите, что какой-то посетитель получил доступ к этим файлам, это может значить, что ваш сайт взломали.

    Если вы будете время от времени просматривать логи событий и заметите что-то странное, вы сможете вовремя отреагировать на изменения.

    Установите файрвол на сервере

    Вы можете установить файрвол на сервере, это защитит сайт и сервер от хакеров еще на подходе. Не путайте файрвол на сервере с WAF (web application firewall), файрволом на сайте, который находится в плагине Wordfence.

    Если хакер уже попал на сайт, то остановить его будет труднее, поэтому лучше остановить его на подходе к сайту, то есть на уровне сервера.

    Вы можете попробовать установить бесплатный файрвол ConfigServer Security & Firewall. Перед установкой поговорите с техподдержкой хостинга, у вас может не быть прав на установку ПО, или, возможно, какой-то файрвол уже установлен на сервере.

    Признаки взломанного сайта

    1. Постоянные ссылки. Зайдите в НастройкиПостоянные ссылки. Проверьте, что ничего не добавлено к постоянной ссылке. Постоянная ссылка должна выглядеть как %postname% . Если ссылка изменилась на %postname%/% , например,

    значит, ваш сайт взломали.

    2. Файл .htaccess. Страницы сайта ведут на сайт с Виагрой, казино и тому подобное. Зайдите в свой файл .htaccess, проверьте, не добавились ли новые 301 редиректы. В новой установке Вордпресс файл должен выглядеть так:

    3. Редиректы: Вредоносные редиректы с главной или другой / других страниц сайта. Вредоносный код мог быть добавлен в файл wp-config.php:

    4. Непонятный контент: Контент, который вы не размещали, — рекламные баннеры, статьи и тому подобное. Проверьте все страницы сайта, включая Главную.

    5. Поисковики: Проверьте свой сайт в поисках, нет ли в выдаче «виагры» вместе с вашим сайтом.

    Замените ваш-сайт.ru на ваш адрес.

    Вставьте эту строку в поисковик, посмотрите, как поисковики видят ваш сайт. Некоторые взломы меняют заголовок страницы на рекламный мусор.

    6. Пользователи сайта: Проверьте пользователей сайта, нет ли неизвестных вам юзеров с правами администратора.

    7. Странные таблицы в базе данных: Хакеры могут получить доступ к базе данных и создать новую таблицу с вредоносным кодом, которая может быть похожа на стандартную таблицу Вордпресс. Например, создать новую таблицу wp_pagemeta , которая маскируется под стандартную таблицу wp_postmeta .

    Еще одна вещь, которую вы можете — проверить сайт на уязвимости с помощью бесплатного плагина Security Ninja.

    Или скачайте сайт на компьютер и проверьте его антивирусом.

    Решение проблем со взломанным сайтом

    Если сайт взломали, читайте в этом разделе об очистке от вредоносного кода и возвращении сайта в рабочее состояние.

    Предотвратить заражение проще, чем лечение, поэтому применяйте эти рекомендации, чтобы не пришлось лечить сайт.

    Хотя этой информации может показаться много, это стандартная базовая безопасность Вордпресс.

    Если эта статья несколько сложна для вас, попробуйте начать с этого:

    Если вы хотите применить эти настройки автоматически и наблюдать за состоянием безопасности сайта в админке Вордпресс, переходите на страницу

    Надеюсь, статья была полезна. Оставляйте комментарии.

    Топ-пост этого месяца:  Foundation 6 новая гибкая сетка
  • Добавить комментарий