Плагины безопасности вордпресс не использующие htaccess. Качественная настройка блога на WordPress после установки. Ограничение количества неудачных попыток входа

  • Перевод

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

Эта статья сфокусирована на вопросах усиления безопасности WordPress - как административной панели, так и настроек блога, подразумевая все содержимое папки «wp-admin» , которое отображается только после авторизации . Мы сознательно выделили фразу "после авторизации " - вы должны четко осознавать, что только один простой запрос отделяет «злого хакера» и админку всего вашего блога или сайта! А последняя защищена настолько сильно, насколько мощный пароль вы выбрали.

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

1. Переименуйте папку wordpress.

Начиная с версии 2.6, стало возможным изменять путь к папке wp-content . К сожалению это до сих пор неприменимо к папке wp-admin . Думающие о безопасности блоггеры смирились с этим и стали надеяться, что это станет возможным в будущих версиях. Пока этого не случилось, предлагаем воспользоваться следующим альтернативным решением проблемы. После распаковки архива с файлами WordPress, вы увидите папку «WordPress» - переименуйте папку (в идеале во что-то непонятное вроде " wordpress_live_Ts6K" ) и после этого настройте соответственным образом файл wp-config.php , который находится в корневой директории.
Что нам даст это изменение?
  • Во-первых, все файлы WordPress не будут смешаны с другими файлами в корне сайта, таким образом мы повысим ясность корневого уровня.
  • Во-вторых, множество копий WordPress может быть установлено параллельно в папки с разными именами, исключая их взаимодействие, что делает это идеальным для тестирования
  • Третье преимущество напрямую касается безопасности: административная зона (и весь блог в целом) больше не находится в корневой папке и для проведения каких-либо действий по взлому сначала ее нужно будет найти. Это проблемно для людей, но что касается ботов - вопрос времени.

Несколько установленных версий в root-каталоге - это возможно!

Примечание: Если системные файлы WordPress больше не в корневой директории, и имя папки инсталяции изменено в соответствии с рекомендациями, описанными выше, блог будет все равно доступен по адресу wp-config.ru . Почему? Зайдите в раздел «Общие настройки (General settings)» вашего блога и введите в поле «WordPress address (URL)» реальный адрес блога на сервере, как показано в примере:

Адрес блога должен быть красивым и ненавязчивым

Это позволит блогу отображаться по красивому виртуальному адресу.

2. Усовершенствуйте файл wp-config.php

Конфигурационный файл WordPress wp-config.php содержит в себе некоторые настройки сайта и информацию для доступа к базе данных. Также там другие настройки, касающиеся безопасности (они представлены в списке ниже). Если таких значений в этом файле нет, или же имеются только установленные по умолчанию, вам необходимо, соответственно, добавить или изменить их:
  • Ключи безопасности: начиная с версии 2.7, в WordPress есть четыре ключа безопасности, которые должны быть правильно установлены. WordPress спасает вас от необходимости выдумывать эти строки самому, автоматически генерируя правильные ключи с точки зрения безопасности. Вам просто нужно вставить ключи в соответствующие строки файла wp-config.php. Эти ключи являются обязательными для обеспечения безопасности вашего блога.
  • Префикс таблицы заново установленного WordPress блога не должен быть стандартным «wp_» Чем больее сложным будет значение префикса, тем менее вероятна возможность несанкционированного доступа к таблицам вашей MySQL базы данных. Плохо: $table_prefix = "wp_"; . Намного лучше: $table_prefix = "wp4FZ52Y_"; Не стоит бояться забыть это значение - вам необходимо ввести его только один раз, больше оно вам не понадобится.
  • Если у вас на сервере доступно SSL шифрование , рекомендуется включить его для защиты административной зоны. Это можно сделать, добавив следующую команду в файл wp-config.php: define("FORCE_SSL_ADMIN", true);
Также вы можете регулировать другие системные настройки в конфигурационном файле. Четкий и исчерпывающий список доступных настроек доступен на странице Кодекса

Не пренебрегайте установкой правильных ключей безопасности!

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

Также начиная с версии 2.6, WordPress позволяет перемещать файл wp-config.php на высший уровень. По причине того, что этот файл содержит в себе намного более важную информацию, чем какой либо другой, и потому что всегда намного сложнее получить доступ к корневой папке сервера, имеет смысл хранить его не в той же директории, где и остальные файлы. WortdPress автоматически обратится к высшей папке в поиске файла wp-config.php . Любые попытки пользователей самим настроить путь бесполезны.

4. Защитите файл wp-config.php

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

# protect wpconfig.php
Order deny,allow deny from all

Очень важно убедиться, что файл .htaccess находится в той же директории что и файл wp-config.php .

5. Удалите учетную запись администратора.

Во время процесса установки WordPress создает учетную запись администратора с ником «admin» по умолчанию. С одной стороны это вполне логично, с другой - пользователь с известным ником, т.е. ID - 1, обладающий административными правами, является вполне предсказуемой мишенью для хакеров с их программами подбора паролей. Отсюда следует наш совет:
  • Создайте еще одного пользователя с административными правами и вашим ником.
  • Завершите сеанс работы.
  • Залогиньтесь под новым аккаунтом.
  • Удалите учетную запись "admin ".
Если у вас не новый блог и под учетной записью admin вы уже публиковали посты или комментарии, то из предложенных вариантов в момент удаления, выберите пункт «Связать все записи и ссылки с:» и выберите имя нового пользователя:

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

6. Выберите сильный пароль.

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

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

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

7. Защитите папку «wp-admin».

Следуя пословице «две головы лучше одной», существует способ вдвое усилить защиту административной зоны. Защита регулируется файлом .htaccess , который должен находится в папке «wp-admin» вместе с файлом .htpasswd , который хранит логин и пароль пользователя. После обращения к папке, вам нужно будет ввести логин и пароль, но разница в том, что в этом случае авторизация контролируется на стороне сервера, а не силами самого WordPress.

Для того чтобы просто и быстро сгенерировать файлы .htaccess и .htpasswd , воспользуйтесь этим сервисом .

8. Запретите отображение ошибок на странице авторизации.

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

Несложно догадаться, как быстро сокращается вероятность подбора комбинации логина/пароля, когда система указывает что именно введено неверно. Простая строка кода, поможет решить эту проблему, достаточно добавить её в файл functions.php вашей темы:

Add_filter("login_errors",create_function("$a", «return null;»));

Изначальный/измененный вид страницы авторизации.

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

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

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

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

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

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

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

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

Права CHMOD

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

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

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

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

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

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

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

Сделайте безопасным файл 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 из корневого каталога в папку домена .

Вариант 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, а пытаетесь защититься самостоятельно.

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

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

  • Входите на вкладку: Пользователи;
  • Создаете нового администратора;
  • Удаляете администратора: admin. При удалении admin, перенаправляете все публикации admin на нового администратора.

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

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

Эта статья сфокусирована на вопросах усиления безопасности WordPress - как административной панели, так и настроек блога, подразумевая все содержимое папки «wp-admin» , которое отображается только после авторизации . Мы сознательно выделили фразу "после авторизации " - вы должны четко осознавать, что только один простой запрос отделяет «злого хакера» и админку всего вашего блога или сайта! А последняя защищена настолько сильно, насколько мощный пароль вы выбрали.

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

1. Переименуйте папку wordpress.

Начиная с версии 2.6, стало возможным изменять путь к папке wp-content . К сожалению это до сих пор неприменимо к папке wp-admin . Думающие о безопасности блоггеры смирились с этим и стали надеяться, что это станет возможным в будущих версиях. Пока этого не случилось, предлагаем воспользоваться следующим альтернативным решением проблемы. После распаковки архива с файлами WordPress, вы увидите папку «WordPress» - переименуйте папку (в идеале во что-то непонятное вроде " wordpress_live_Ts6K" ) и после этого настройте соответственным образом файл wp-config.php , который находится в корневой директории.
Что нам даст это изменение?
  • Во-первых, все файлы WordPress не будут смешаны с другими файлами в корне сайта, таким образом мы повысим ясность корневого уровня.
  • Во-вторых, множество копий WordPress может быть установлено параллельно в папки с разными именами, исключая их взаимодействие, что делает это идеальным для тестирования
  • Третье преимущество напрямую касается безопасности: административная зона (и весь блог в целом) больше не находится в корневой папке и для проведения каких-либо действий по взлому сначала ее нужно будет найти. Это проблемно для людей, но что касается ботов - вопрос времени.

Несколько установленных версий в root-каталоге - это возможно!

Примечание: Если системные файлы WordPress больше не в корневой директории, и имя папки инсталяции изменено в соответствии с рекомендациями, описанными выше, блог будет все равно доступен по адресу wp-config.ru . Почему? Зайдите в раздел «Общие настройки (General settings)» вашего блога и введите в поле «WordPress address (URL)» реальный адрес блога на сервере, как показано в примере:

Адрес блога должен быть красивым и ненавязчивым

Это позволит блогу отображаться по красивому виртуальному адресу.

2. Усовершенствуйте файл wp-config.php

Конфигурационный файл WordPress wp-config.php содержит в себе некоторые настройки сайта и информацию для доступа к базе данных. Также там другие настройки, касающиеся безопасности (они представлены в списке ниже). Если таких значений в этом файле нет, или же имеются только установленные по умолчанию, вам необходимо, соответственно, добавить или изменить их:
  • Ключи безопасности: начиная с версии 2.7, в WordPress есть четыре ключа безопасности, которые должны быть правильно установлены. WordPress спасает вас от необходимости выдумывать эти строки самому, автоматически генерируя правильные ключи с точки зрения безопасности. Вам просто нужно вставить ключи в соответствующие строки файла wp-config.php. Эти ключи являются обязательными для обеспечения безопасности вашего блога.
  • Префикс таблицы заново установленного WordPress блога не должен быть стандартным «wp_» Чем больее сложным будет значение префикса, тем менее вероятна возможность несанкционированного доступа к таблицам вашей MySQL базы данных. Плохо: $table_prefix = "wp_"; . Намного лучше: $table_prefix = "wp4FZ52Y_"; Не стоит бояться забыть это значение - вам необходимо ввести его только один раз, больше оно вам не понадобится.
  • Если у вас на сервере доступно SSL шифрование , рекомендуется включить его для защиты административной зоны. Это можно сделать, добавив следующую команду в файл wp-config.php: define("FORCE_SSL_ADMIN", true);
Также вы можете регулировать другие системные настройки в конфигурационном файле. Четкий и исчерпывающий список доступных настроек доступен на странице Кодекса

Не пренебрегайте установкой правильных ключей безопасности!

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

Также начиная с версии 2.6, WordPress позволяет перемещать файл wp-config.php на высший уровень. По причине того, что этот файл содержит в себе намного более важную информацию, чем какой либо другой, и потому что всегда намного сложнее получить доступ к корневой папке сервера, имеет смысл хранить его не в той же директории, где и остальные файлы. WortdPress автоматически обратится к высшей папке в поиске файла wp-config.php . Любые попытки пользователей самим настроить путь бесполезны.

4. Защитите файл wp-config.php

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

# protect wpconfig.php
Order deny,allow deny from all

Очень важно убедиться, что файл .htaccess находится в той же директории что и файл wp-config.php .

5. Удалите учетную запись администратора.

Во время процесса установки WordPress создает учетную запись администратора с ником «admin» по умолчанию. С одной стороны это вполне логично, с другой - пользователь с известным ником, т.е. ID - 1, обладающий административными правами, является вполне предсказуемой мишенью для хакеров с их программами подбора паролей. Отсюда следует наш совет:
  • Создайте еще одного пользователя с административными правами и вашим ником.
  • Завершите сеанс работы.
  • Залогиньтесь под новым аккаунтом.
  • Удалите учетную запись "admin ".
Если у вас не новый блог и под учетной записью admin вы уже публиковали посты или комментарии, то из предложенных вариантов в момент удаления, выберите пункт «Связать все записи и ссылки с:» и выберите имя нового пользователя:

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

6. Выберите сильный пароль.

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

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

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

7. Защитите папку «wp-admin».

Следуя пословице «две головы лучше одной», существует способ вдвое усилить защиту административной зоны. Защита регулируется файлом .htaccess , который должен находится в папке «wp-admin» вместе с файлом .htpasswd , который хранит логин и пароль пользователя. После обращения к папке, вам нужно будет ввести логин и пароль, но разница в том, что в этом случае авторизация контролируется на стороне сервера, а не силами самого WordPress.

Для того чтобы просто и быстро сгенерировать файлы .htaccess и .htpasswd , воспользуйтесь этим сервисом .

8. Запретите отображение ошибок на странице авторизации.

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

Несложно догадаться, как быстро сокращается вероятность подбора комбинации логина/пароля, когда система указывает что именно введено неверно. Простая строка кода, поможет решить эту проблему, достаточно добавить её в файл functions.php вашей темы:

Add_filter("login_errors",create_function("$a", «return null;»));

Изначальный/измененный вид страницы авторизации.

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

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

Привет, уважаемые друзья.

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

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

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

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

Теперь для любителей почитать.

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

Настройки профиля

Сначала даю скриншот настроек, а затем опишу необходимые функции.

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

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

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

  • Цветовая схема - для каждого эта настройка индивидуальна. В соответствии со своими вкусами вы можете выбрать цветовую схему для оформления админ-панели WordPress;
  • Горячие клавиши - можно управлять комментариями с помощью комбинаций клавиш. Более подробно все написано по ссылке "Дополнительная информация", предоставленной возле описания настройки. Там можно узнать и комбинации клавиш для форматирования, например для выделение фразы подчеркиванием (ctrl+u);
  • Верхняя панель - будет ли отображаться верхний админ-бар при просмотре любой страницы блога;
  • Настройки именных отображений (имя) - в данном пункте мы настраиваем, как будет отображаться наша персона при публикации статей;

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


Выбираете понравившийся вариант.

  • Настройки контактов (контакты) - в этих настройках я заполняю только рабочий реальный e-mail адрес и ссылку на профиль в социальной сети Google+.

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

Общие настройки

Настройки в данном пункте по большей мере также касаются отображения.

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


  • Краткое описание - тоже самое, что и название, только описание;


  • Адрес WordPress и адрес сайта - настройки менять не нужно. Они автоматически ставятся нужными при установке WordPress на хостинг;
  • Адрес e-mail - вводим реальный e-mail. На него будут приходить различного рода уведомления, если вы их настроите на блоге. Например, это могут быть плагины различного рода оповещения;
  • Членство - вы можете включить на сайте функцию регистрации, тогда в данном пункте необходимо выбрать, кем станет новый пользователь. Если у вас обычный блог, то функция регистрации совершенно не нужна;
  • Часовой пояс - выбираете свой часовой пояс. Хотя, я ничего не выбирал. Он должен подставиться автоматически, исходя из региональных настроек в операционной системе;
  • Формат даты и формат времени - ставите удобный вариант отображения даты возле опубликованного материала. Как на меня, то стандартный вариант наиболее привычный;

У меня от данной настройки ничего не меняется в отображении. Видимо шаблон подставляет свой вариант. А у вас что-то происходит при смене разных вариантов?

  • Первый день недели - естественно понедельник;
  • Язык сайта - я конечно же выбрать русский.

Настройки публикаций (написание)


  • Функцию преобразования смайлов я отключил, так как у меня данная стандартная функция не работает. Да и не нужно это;
  • WordPress должен исправлять некорректный XHTML-код автоматически - настройку оставил включенной, но ее работоспособность прокомментировать не могу, так как не видел результат ее работы;
  • Основная рубрика - в данном пункте нужно выбрать рубрику, в которую будут попадать публикации, при добавлении которых вы не выберите рубрику. Например, если забыли поставить чек-бокс напротив нужной рубрики, то она будет попадать в "основную рубрику";
  • Основной формат записи - с данной настройкой никогда не экспериментировал, так как не было надобности. Для обычного сайта оставляем стандартный вариант.

Настройки чтения

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

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

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

  • На страницах отображать не более - если выбран вариант отображения последних записей на главной странице, то будет выводиться определенное количество анонсов. Их список целесообразно разбивать на страницы. Количество анонсов на одной станице выбирает каждый индивидуально. Мне подошел стандартный вариант в 10 анонсов;

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

  • В RSS-лентах отображать последние - также оставил стандартное значение;
  • Для каждой статьи в ленте отображать - выбираем "анонс", чтобы отображалась только начальная часть материала;
  • Видимость для поисковых систем - чек-бокс не ставим, хотя он сильно и не решает. Поисковые системы его во внимание могут и не взять.

Настройки обсуждения (комментариев)

Это самый объемный раздел стандартных параметров.

  • Настройки для статьи по умолчанию - первые 2 настройки я отключил, так как они создают лишнюю нагрузку на блог, а смысла от них нет. Они пытаются оповещать другие блоги о том, что мы их упомянули в своих статьях, а также пытаются принимать аналогичные уведомления;
  • Другие настройки комментариев - обязательно должна быть активна функция древовидных комментариев. По умолчанию она стоит, но вы проверьте ее активность;
  • Отправить мне письмо, когда - эти настройки я отключил полностью, так как при активном комментировании сайта, почта будет просто завалена письмами о добавлении новых комментариев и об ожидании их модерации. На начальном этапе, когда сайт совсем новый, можете оставить данные параметры активными. Я же выключил их сразу;
  • Модерация комментариев и черный список - эти 2 поля служат для добавления комментариев по заданным параметрам в модерацию или черный список соответственно. Например, можем добавить имя автора, который постоянно спамит, в поле черного списка и его комментарии проходить никогда не будут;
  • Аватары - эти настройки по умолчанию выставлены нормально. Можете только поменять вариант отображения аватара по своему усмотрению. Имхо, стандартный вариант наиболее приятный для восприятия.

Настройки медиафайлов

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

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


Если вы хотите изменить данные размеры на свои, то пункт "Настройки медиафайлов" вам и нужен.

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


Ничего сложного нет. Просто меняете стандартные размеры на свои.

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

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

Настройка постоянных ссылок

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

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

  • "Прошу вас в комментарии" .

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

    На этом все. Пока.

    С уважением, Константин Хмелев.

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

1. Перед инсталляцией;
2. После инсталляции;
3. Периодические проверки и обновления.

1. Перед инсталляцией

1.1. Удаляем все ненужные файлы:
readme.html, license.txt, hello.php, ненужные темы и плагины.

1.2. Правильно отредактируем wp-config.php файл:

define("DB_NAME", "wpdb"); // Вместо "wpdb" нужно придумать сильное имя, например, wp433Fd6HW
define("DB_USER", "wpuser"); // Например, UserFB56SKl
define("DB_PASSWORD", "strongpassword"); // Тут должен быть сильный пароль, например, ‘FE876!8e#fh#9fDfds9f’
define("DB_HOST", "localhost"); // В 99% случаях это значение не нужно менять
define("DB_CHARSET", "utf8"); define("DB_COLLATE", "");

Меняем секретный ключ с дефолтного:

define("AUTH_KEY", "izmenite eto na unikalnuyu frazu");
define("SECURE_AUTH_KEY", "izmenite eto na unikalnuyu frazu");
define("LOGGED_IN_KEY", "izmenite eto na unikalnuyu frazu");
define("NONCE_KEY", "izmenite eto na unikalnuyu frazu");

на сгенерированный, с помощью сервиса

define("AUTH_KEY", "M.uFL(RBw5UkRw%P&+>E*jJZBikz3-OV7sO*-_g*{9z,PnM,T&LPAE");
define("NONCE_KEY", "d2A~8NBb%2?+6`z}?nWoD0`f]-.gUOC);

Делаем таблицы более защищенными:

$table_prefix = "wp_4i32aK_"; // Используйте только буквы, числа и символы подчерка, чтобы сделать свой table_prefix уникальным. По крайней мере, это защитит Вас от части public эксплоитов.

1.3. Создаём пользователя и базу данных для блога в консоле MySQL:
Сначала, заходим под root’ом и создаем базу данных для блога:

$ mysql -u root
mysql> CREATE database wpdb;

$ mysql -u root
mysql> CREATE database wp433Fd6HW;
Query OK, 1 row affected (0.00 sec)

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

mysql>
-> ON wpdb.*
-> TO "wpuser"@"localhost"
-> IDENTIFIED BY "strongpassword"; Query OK, 0 rows affected (0.01 sec)

В нашем примере это будет выглядеть так:

mysql> GRANT SELECT,INSERT,UPDATE,DELETE,CREATE,DROP
-> ON wp433Fd6HW.*
-> TO "UserFB56SKl"@"localhost"
-> IDENTIFIED BY "FE876!8e#fh#9fDfds9f";
Query OK, 0 rows affected (0.01 sec)

1.4. Уберите блок meta из кода Вашей темы
В стандартной теме кусок кода, отвечающего за вывод блока meta:

  • Meta





    • Valid XHTML

    • XFN

    • ">WordPress



  • 2. После инсталляции

    2.1. Меняем пароль Администратора по умолчанию
    Поменяйте сгенерированный на этапе установки пароль Администратора

    2.2. Удаляем версию WordPress

    remove_action ("wp_head", "wp_generator");

    В файле header.php в папке с Вашей темой удаляем строку:

    " />

    Для WordPress версии 2.8.4 находим имплементацию функции get_the_generator($type) и изменяем ее:

    function get_the_generator($type) {
    $gen = "";
    return apply_filters("get_the_generator_{$type}", $gen, $type);
    }

    2.3. Пустой index.php
    Поместите в папки wp-includes/, wp-content/, /plugins/ пустой файл index.php

    2.4. Меняем имя пользователя Admin на нечто более неочевидное
    Изменяем имя через MySQL консоль:

    wp $ mysql -u UserFB56SKl –p
    mysql> use wp;
    UPDATE wp_users SET user_login="adm" where user_login="admin";

    В нашем примере это будет выглядеть так:

    wp $ mysql -u wpuser –p
    mysql> use wp433Fd6HW;
    UPDATE wp_4i32aK_users SET user_login="adm234Df" where user_login="admin";
    Query OK, 1 row affected (0.01 sec) Rows matched: 1 Changed: 1 Warnings: 0

    Или, если не хотите копаться с запросами, можно сделать следующее:

    1. Cоздайте новый аккаунт. Имя пользователя должно быть уникальным;
    2. Назначьте новому пользователю роль Администратора;
    3. Перелогинтесть как новый Администратор;
    4. Удалите учетку старого Администратора.

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

    2.6. Ограничиваем доступ к папкам wp-content и wp-includes
    С помощь файла.htaccess и специальных правил, мы запретим всё, кроме запросов на картинки, CSS и JavaScript. Файлы.htaccess необходимо положить с соответствующие директории.

    Order Allow, Deny
    Deny from all

    Allow from all

    Вы также можете добавить специфические PHP файлы для определенных шаблонов и плагинов.

    2.7. Прячем директорию wp-content
    Начиная с версии WordPress 2.6, появилась возможность переместить директорию wp-content.
    Меняем в wp-settings.php строчки:

    define("WP_CONTENT_DIR",$_SERVER["DOCUMENT_ROOT"]."/blog/wp-content");
    define("WP_CONTENT_URL","http://domain.ru/blog/wp-content");

    И, чтобы не было проблем с плагинами:

    define("WP_PLUGIN_DIR",$_SERVER["DOCUMENT_ROOT"]."/blog/wp-content/plugins");
    define("WP_PLUGIN_URL","http://domain.ru/blog/wp-conten/plugins");

    2.8. Ограничиваем доступ к папке wp-admin
    Если у Вас статический IP
    Этот шаг легко осуществим для однопользовательского блога, но может принести настоящую головную боль для многопользовательского варианта. Этот трюк подходит только, если у Вас статический IP. Файл.htaccess для директории wp-admin должен содержать следующие правила:

    AuthUserFile /dev/null
    AuthGroupFile /dev/null
    AuthName "Example Access Control"
    AuthType Basic

    order deny,allow
    deny from all
    allow from a.b.c.d. #Ваш статический IP

    Положите файл в директорию wp-admin и попробуйте зайти в эту папку через прокси. Если всё работает правильно, в доступе будет отказано. После этого попробуйте зайти со своего IP.

    Ограничиваем доступ по паролю
    Более предпочтительным может оказаться доступ к папке wp-admin по паролю. А это означает, что Вы можете заходить в админскую панель, откуда угодно. Также это вариант, если у Вас динамический IP.
    Файл.htaccess для директории wp-admin должен содержать следующие правила:

    #Файл.htpasswd находиться за пределами root директории Вашего блога

    ErrorDocument 401 default
    AuthUserFile /srv/www/user1/.htpasswd
    AuthType Basic
    AuthName "WordPress Dashboard"

    require user adminuser #Создайте секъюрный username


    require valid-user

    Сгенерируйте пароль командой:

    $ htpasswd -cm .htpasswd adminuser

    Или для генерации пароля воспользуйтесь сервисом . Вот пример для user: admin , password: test

    admin:$apr1$t3qLL...$uUmj9Wm/WbJk7YNza6ncM/

    Файл.htpasswd лучше расположить директорией выше корня блога.

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

    # protect wpconfig.php

    Order deny,allow
    deny from all

    2.10. Устанавливаем правильные права на файлы и папки
    Основное правило:

    1. Для файлов - 644
    2. Для папок - 755

    Из шелла эти операции можно проделать с помощью:

    cd
    find (your path) -type d -exec chmod 755 ‘{}’ \
    find (your path) -type f -exec chmod 644 ‘{}’ \

    2.11. SSL для админов
    Если Ваш сервер поддерживает SSL, то лучше сделать доступ в админку защищенной. Для этого в файле wp-config.php уберите комментарии в строчке:

    define(’FORCE_SSL_ADMIN’, true);

    2.12. Удалите вывод логов WordPress
    В файле functions.php в папке с Вашей темой добавляем строку:

    add_filter("login_errors",create_function("$a", "return null;"));

    2.13. Запрещаем индексации с помощью Robots.txt
    Проверить правильность можно по адресу

    2.14. Плагины для Вашей безопасности
    Login LockDown - Устанавливаем количество ложных логинов
    Для этого есть два решения в виде плагинов and . После того, как плагин активирован, он записывает все попытки залогиниться. Плагин позволяет запретить посетителю логиниться определенное время, после того как посетитель несколько раз неправильно ввёл пароль.

    Belavir – Следим за изменениями в ключевых php файлах

    WPIDS – Определяем признаки внедрения

    WordPress Online Security Scanner – Сканируем блог на уязвимости

    Akismit – Противоборство СПИДу СПАМу

    SpamBam – Определяем валидный ли браузер пользует клиент

    3. Периодические проверки и обновления

    3.1. Следите за обновлением WordPress
    3.2. Следите за обновлением плагинов
    3.3. Следите за обновлениями безопасности

    3.4. Проверяйте код темы и плагинов, которые Вы хотите добавить, на «дырявость»
    3.5. Боритесь со спамом
    3.6. Регулярно делайте полный backup базы данных Вашего блога
    3.7. Читайте девелоперские блоги
    Небольшой список:

    
    Top