sonyps4.ru

Редактируем файл wp-config. Установка WordPress

ВНИМАНИЕ: Прочтите перед редактированием этой страницы.

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

Одним из шагов при установке WordPress является внесение в файл wp-config.php параметров, необходимых для доступа к базе данных MySQL.

Этот файл, wp-config.php , не содержится в скачиваемой копии WordPress; вам потребуется его создать. В качестве примера можно использовать файл wp-config-sample.php . Ниже представлены расширенные настройки и примеры.

Для изменения файла wp-config.php вам потребуется следующая информация:

Имя базы данных Имя базы данных для WordPress Имя пользователя базы данных Имя пользователя для доступа к базе данных Пароль к базе данных Пароль пользователя для доступа к базе данных Сервер базы данных Имя сервера базы данных

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

Настройка базы данных

Важно: никогда не используйте текстовые редакторы вроде Microsoft Word для изменения файлов WordPress!

Найдите в корневом каталоге WordPress файл и откройте его в .

Исходный wp-config-sample.php

ЗАМЕЧАНИЕ: It won"t change the Database value though, and the url will revert to the old database value if this line is removed from wp-config. to change the siteurl value in the database.

If WordPress is installed into a directory called "wordpress" for the domain example.com, define WP_SITEURL like this:

Define("WP_SITEURL", "http://example.com/wordpress");

Dynamically set WP_SITEURL based on $_SERVER["HTTP_HOST"]

Define("WP_SITEURL", "http://" . $_SERVER["HTTP_HOST"] . "/path/to/wordpressp");

ЗАМЕЧАНИЕ: A safer alternative for some installations would be to use the server-generated SERVER_NAME instead of the php/user-generated HTTP_HOST which is created dynamically by php based on the value of the HTTP HOST Header in the request, thus possibly allowing for file inclusion vulnerabilities. SERVER_NAME is set by the server configuration and is static.

Dynamically set WP_SITEURL based on $_SERVER["SERVER_NAME"]

Define("WP_SITEURL", "http://" . $_SERVER["SERVER_NAME"] . "/path/to/wordpressp");

Адрес блога (URL)

WP_HOME is another wp-config.php option added in WordPress . Similar to WP_SITEURL, WP_HOME overrides the value for home but does not change it permanently. home is the address you want people to type in their browser to reach your WordPress blog. It should include the http:// part and should not have a slash "/ " at the end.

Define("WP_HOME", "http://example.com/wordpress");

В WordPress версии 2.5, установка WP_DEBUG в true также поднимает уровень сообщений об ошибках на E_ALL и активирует предупреждения, когда устаревшие функции или файлы используются; в противном случае, WordPress устанавливает уровень сообщений об ошибках в E_ALL ^ E_NOTICE ^ E_USER_NOTICE .

Отключить Javascript присоединение

Чтобы результатам заканчиваться более быстрой административной областью, все файлы Javascript являются присоединёнными в один URL. Если Javascript не в состоянии работать в вашей административной области, вы можете попробовать отключить эту функцию:

Define("CONCATENATE_SCRIPTS", false);

Настройка лога ошибок

Because wp-config.php is loaded for every page view not loaded from a cache file, it is an excellent location to set php ini settings that control your php installation. This is useful if you don"t have access to a php.ini file, or if you just want to change some settings on the fly.

Here is an example that turns php error_logging on and logs them to a specific file. If WP_DEBUG is defined to true, the errors will also be saved to this file. Just place this above any require_once or include commands.

@ini_set("log_errors","On"); @ini_set("display_errors","Off"); @ini_set("error_log","/home/example.com/logs/php_error.log"); /* That"s all, stop editing! Happy blogging. */

Another example of logging errors, as suggested by Mike Little on the wp-hackers email list :

/** * This will log all errors notices and warnings to a file called debug.log in * wp-content (if Apache does not have write permission, you may need to create * the file first and set the appropriate permissions (i.e. use 666)) */ define("WP_DEBUG", true); define("WP_DEBUG_LOG", true); define("WP_DEBUG_DISPLAY", false); @ini_set("display_errors",0);

Увеличение памяти для PHP

define("FS_CHMOD_DIR", (0755 & ~ umask())); define("FS_CHMOD_FILE", (0644 & ~ umask()));

Константы для обновления WordPress

You should define as few of the below constants needed to correct your update issues.

The most common causes of needing to define these are:

  • Host running with a special installation setup involving Symlinks, You may need to define the path-related constants (FTP_BASE, FTP_CONTENT_DIR, and FTP_PLUGIN_DIR), Often defining simply the base will be enough.
  • Certain PHP installations shiped with a PHP FTP Extension which is incompatible with certain FTP Servers, under these rare situations, you may need to define FTP_METHOD to "ftpsockets"

The following are valid constants for WordPress updates:

  • FS_METHOD forces the filesystem method. It should only be "direct", "ssh", "ftpext", or "ftpsockets". Generally, You should only change this if you are experiencing update problems, If you change it, and it doesnt help change it back/remove it , Under most circumstances, setting it to "ftpsockets" will work if the automatically chosen method does not.
    • (Primary Preference) "Direct" forces it to use Direct File I/O requests from within PHP, this is fraught with opening up security issues on poorly configured hosts, This is chosen automatically when appropriate.
    • (Secondary Preference) "ssh" is to force the usage of the SSH PHP Extension.
    • (3rd Preference) "ftpext" is to force the usage of the FTP PHP Extension for FTP Access, and finally
    • (4th Preference) "ftpsockets" utilises the PHP Sockets Class for FTP Access.
  • FTP_BASE is the full path to the "base"(ABSPATH) folder of the WordPress installation.
  • FTP_CONTENT_DIR is the full path to the wp-content folder of the WordPress installation.
  • FTP_PLUGIN_DIR is the full path to the plugins folder of the WordPress installation.
  • FTP_PUBKEY is the full path to your SSH public key.
  • FTP_PRIKEY is the full path to your SSH private key.
  • FTP_USER is either user FTP or SSH username. Most likely these are the same, but use the appropriate one for the type of update you wish to do.
  • FTP_PASS is the password for the username entered for FTP_USER . If you are using SSH public key authentication this can be omitted.
  • FTP_HOST is the hostname:port combination for your SSH/FTP server. The default FTP port is 21 and the default SSH port is 22, These do not need to be mentioned.
  • FTP_SSL TRUE for SSL-connection if supported by the underlying transport , Not available on all servers. This is for "Secure FTP" not for SSH SFTP.
define("FS_METHOD", "ftpext"); define("FTP_BASE", "/path/to/wordpress/"); define("FTP_CONTENT_DIR", "/path/to/wordpress/wp-content/"); define("FTP_PLUGIN_DIR ", "/path/to/wordpress/wp-content/plugins/"); define("FTP_PUBKEY", "/home/username/.ssh/id_rsa.pub"); define("FTP_PRIKEY", "/home/username/.ssh/id_rsa"); define("FTP_USER", "username"); define("FTP_PASS", "password"); define("FTP_HOST", "ftp.example.org"); define("FTP_SSL", false);

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

To enable SSH2 as an upgrade option you will need to install the pecl SSH2 extension. To install this library you will need to issue a command similar to the following or talk to your web hosting provider to get this installed:

Pecl install ssh2

After installing the pecl ssh2 extension you will need to modify your php configuration to automatically load this extension.

pecl is provided by the pear package in most linux distributions. To install pecl in Redhat/Fedora/CentOS:

Yum -y install php-pear

To install pecl in Debian/Ubuntu:

Apt-get install php-pear

It is recommended to use a private key that is not pass-phrase protected. There have been numerous reports that pass phrase protected private keys do not work properly. If you decide to try a pass phrase protected private key you will need to enter the pass phrase for the private key as FTP_PASS, or entering it in the "Password" field in the presented credential field when installing updates.

If you"re still not clear on how to use SSH for upgrading or installing WordPress/plugins, read through this tutorial .

Альтернатива Cron

Use this, for example, if scheduled posts are not getting published. According to Otto"s forum explanation , "this alternate method uses a redirection approach, which makes the users browser get a redirect when the cron needs to run, so that they come back to the site immediately while cron continues to run in the connection they just dropped. This method is a bit iffy sometimes, which is why it"s not the default."

Define("ALTERNATE_WP_CRON", true);

Дополнительно задаваемые константы

Here are additional constants that can be defined, but probably shouldn"t be. The Cookie definitions are particularly useful if you have an unusual domain setup.

Define("COOKIEPATH", preg_replace("|https?://[^/]+|i", "", get_option("home") . "/")); define("SITECOOKIEPATH", preg_replace("|https?://[^/]+|i", "", get_option("siteurl") . "/")); define("ADMIN_COOKIE_PATH", SITECOOKIEPATH . "wp-admin"); define("PLUGINS_COOKIE_PATH", preg_replace("|https?://[^/]+|i", "", WP_PLUGIN_URL)); define("TEMPLATEPATH", get_template_directory()); define("STYLESHEETPATH", get_stylesheet_directory()); define("DISABLE_WP_CRON", true);

  • Перевод

Административная зона любого веб-приложения давно стала излюбленной мишенью для хакеров и её безопасность чрезвычайно заботит разработчиков. Это касается и 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 не ведет статистику авторизаций, как удачных, так и нет. Это очень неудобно для администратора, так как у него нет возможности увидеть были ли попытки несанкционированного доступа, чтобы принять какие-либо меры, если они участятся. Предлагаем два решения: плагины

Содержит параметры взаимодействия сайта с базой данных и ресурсами хостинга, ключи безопасности, а также функции включения отладки. wp-config.php находится в корневой папке ресурса, размещенного на сервере. После копирования содержимого архива платформы, имеет название wp-config-sample.php. Его переименовывают по завершении редактирования – убирают последнее слово.

Основные настройки

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

define (‘DB_CHARSET’ , ‘utf8’ );

На этапе создании БД следует сохранить указанные данные для дальнейшего внесения в wp-config.php. Файл может быть отредактирован на компьютере или сервере через FTP-клиент (FileZilla, Total Commander, файловый менеджер панели хостинга). Перейдя в консоль, будет продолжена установка CMS и сайт будет успешно работать.
Для продвинутых вебмастеров, которые стараются получить максимальную безопасность и скорость работы ресурса, имеется ряд дополнительных возможностей файла конфигурации WordPress.

Расширенные параметры

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

Особенности команд:

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

Изменение префикса базы данных в файле wp-config.php

Опция актуальна при наличии ограничений хостинга по количеству используемых баз данных. Функция позволит применять одну БД для нескольких сайтов, однако рекомендуется не больше двух. Устанавливая еще одну CMS WordPress в отдельную папку, в файле конфигурации указываются параметры имеющейся базы, лишь в строке изменения префикса ($table_prefix = ‘wp_’;) следует указать новый, используя цифры и латинские буквы в нижнем регистре. После изменения wp-config.php, файлы загружаются на хостинг.

Рекомендуется изменить стандартный префикс (wp_) на начальном этапе создания проекта, для улучшения безопасности ресурса. Такая манипуляция не является обязательной и используется вебмастерами достаточно редко.

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

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

Работа с автоматическим сохранением записей

Система использует несколько функций для автоматического сохранения изменений в статье и ее копиях при повторном редактировании. Применяя следующие коды в wp-config.php, можно настроить автосохранение. Отключение сохранения записей: Включение интервала автосохранения статьи (в секундах): Для включения безопасного соединения на всех страницах администратора, вносят строку: Стандартное значение равно 32 Мб, можно установить любое допустимое хостингом. При подобных манипуляциях следует проконсультироваться с администрацией провайдера.

Небольшие доработки

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

В пакете с WordPress (v3.4.1) поставляется 981 файл и 95 папок. Ни один из этих файлов не требует изменений вручную, кроме файла wp-config.php . Конечно, нам не нужно редактировать файл, если нас устраивает стандартная конфигурация WordPress, но весьма важно научиться работать с этим файлом, чтобы применить меры безопасности, трюки по ускорению работы сайта и другие штуки, которые мы изучим в этой статье.

Первое: бэкап!

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

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

Готовы? Поехали!

Скорость: Отключите сохраненные версии... Сейчас!

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

define("WP_POST_REVISIONS", false);

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

Define("WP_POST_REVISIONS", 2);

Скорость: Установите домен Cookie

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

Define("COOKIE_DOMAIN", "www.yourwebsite.com");

Совет : чтобы обрабатывать медиа загрузки поддомена, просто укажите в последних двух текстовых полях на странице Media Options путь (например, /home/myblog/public_html/mysubdomain ) и URL (например http://mysubdomain.myblog.com/ ) вашего поддомена.

Скорость: Измените метод файловой системы

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

Define("FS_METHOD", "direct");

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

Безопасность: Запрет доступа к файлу wp-config.php

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

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

Просто добавьте это в ваш .htaccess файл и все готово!

Безопасность: SSL в панели администратора

SSL на вашем сервере включен? Отлично! Вы можете заставить WordPress использовать безопасное соединение при авторизации с помощью этой строки кода:

Define("FORCE_SSL_LOGIN", true);

И если вы очень подозрительны в плане безопасности (что на самом деле хорошо), вы можете заставить WordPress использовать SSL на каждой странице администратора, чтобы все, что вы делаете там, делалось через шифрованное соединение:

Define("FORCE_SSL_ADMIN", true);

Дополнительную информацию о том, как настроить SSL, вы можете найти в WordPress Codex на странице Administration Over SSL .

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

Если у WordPress есть дыра в безопасности, которая позволяет злоумышленникам использовать метод взлома, известный как "SQL инъекция ", они могут легко использовать стандартные префиксы таблиц вашей базы данных WordPress чтобы удалить их. Но если у вас префиксы таблиц отличные от стандартных (wp_ ), они не смогут их угадать, не так ли?

Так что, устанавливая новый сайт WordPress, смените значение по умолчанию на странице установки или смените следующую строку в файле wp-config.php :

$table_prefix = "wooh00yeah_";

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

Безопасность: Добавьте ключи безопасности… Сейчас!

Давайте просто прочтем в WordPress Codex :

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

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

Другое: Изменение интервала автосохранения

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

Define("AUTOSAVE_INTERVAL", 240); // the value should be in seconds!

Другое: Перенесите свой WordPress сайт легко

WordPress полон сюрпризов и это один из них. Если вам когда-то нужно будет перенести свой сайт на другой домен (или новый поддомен, или новую папку), определите эту константу в вашем файле wp-config.php перед переносом ваших файлов и базы данных:

Define("RELOCATE",true); // We"re not done yet!

После установки этой величины и переноса ваших файлов и базы данных, авторизуйтесь с вашими данными WP на yournewwebsite.com/login.php и после этого проверьте, изменился ли домашний URL на странице Общих настроек. После подтверждения изменений, удалите эту константу из вашего файла wp-config.php . Этот простой трюк в WordPress убережет вас от редактирования базы данных вручную.

Совет : хотя это буквально "переносит" ваш сайт, оно не влияет на жестко закодированные ссылки в вашем контенте. Чтобы изменить их, вы должны использовать плагин типа Search Regex и заменить старые ссылки новыми.

Другое: Отключите редактирование файлов плагина и темы

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

Define("DISALLOW_FILE_EDIT",true);

Более того, вы можете также отключить установку новых тем и плагинов, и их обновление:

Define("DISALLOW_FILE_MODS",true);

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

Другое: Включение WP_DEBUG при разработке

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

Define("WP_DEBUG",true);

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

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

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

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

Полезные настройки wp-config.php

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

1. Основные настройки конфигурации WordPress

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

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

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

// ** Параметры MySQL: Эту информацию можно получить у вашего хостинг-провайдера ** // /** Имя базы данных для WordPress */ define("DB_NAME", "database_name_here"); /** Имя пользователя MySQL */ define("DB_USER", "username_here"); /** Пароль к базе данных MySQL */ define("DB_PASSWORD", "password_here"); /** Имя сервера MySQL */ define("DB_HOST", "localhost");

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

2. Добавление ключей безопасности в WordPress

Установка WordPress по умолчанию автоматически добавляет ключи безопасности в файл конфигурации. Они используются для обеспечения дополнительного уровня безопасности для аутентификации в WordPress и проверки файлов cookie . Более подробно о них описано в нашей . Отметим, что их вы всегда сможете , добавив новые в файл wp-config.php .

3. Изменение префикса таблиц WordPress

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

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

$table_prefix = "wp_";

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

4. Включение отладки

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

Define ("WP_DEBUG", true);

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

Define ("WP_DEBUG", true); define ("WP_DEBUG_LOG", true); define ("WP_DEBUG_DISPLAY", false);

Это создаст файл debug.log внутри папки wp-content вашего сайта, в котором будут содержаться все ошибки и уведомления об ошибках.

5. Изменение сайта

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

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

Define ("WP_HOME", "http://www.site.ru"); define ("WP_SITEURL", "http://www.site.ru");

Не забудьте заменить site.ru своим доменным именем.

6. Переопределение прав доступа

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

Define ("FS_CHMOD_FILE", 0644); define ("FS_CHMOD_DIR", 0755);

7. Настройка автосохранения и ревизий

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

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

Define ("AUTOSAVE_INTERVAL", 120); // в секундах

Для ограничения количества ревизий существует конструкция:

Define ("WP_POST_REVISIONS", 10); // 10 - количество ревизий записи или страницы

Также возможно полное отключение ревизий:

Define ("WP_POST_REVISIONS", false);

8. Настройка корзины WordPress

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

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

9. Добавление констант FTP/SSH в конфигурацию WordPress

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

Используя приведенные ниже инструкции, вы можете установить константы FTP или SSH .

// методы файловой системы: «direct», «ssh», «ftpext» или «ftpsockets» define ("FS_METHOD", "ftpext"); // абсолютный путь к корневой директории WordPress define ("FTP_BASE", "/path/to/wordpress/"); // абсолютный путь к каталогу «wp-content» define ("FTP_CONTENT_DIR", "/path/to/wordpress/wp-content/"); // абсолютный путь к директории "wp-plugins" define ("FTP_PLUGIN_DIR", "/path/to/wordpress/wp-content/plugins/"); // абсолютный путь к вашему открытому ключу SSH define ("FTP_PUBKEY", "/home/username/.ssh/id_rsa.pub"); // абсолютный путь к вашему закрытому ключу SSH define ("FTP_PRIVKEY", "/home/username/.ssh/id_rsa"); // имя пользователя FTP или SSH define ("FTP_USER", "username"); // пароль для имени пользователя FTP_USER define ("FTP_PASS", "password"); // имя хоста для SSH/FTP-сервера define ("FTP_HOST", "ftp.example.org:21");

10. Управление автоматическим восстановлением базы данных

WordPress поставляется со встроенной функцией автоматической оптимизации и восстановления базы данных WordPress. Однако эта функция отключена по умолчанию.

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

Define ("WP_ALLOW_REPAIR", true);

После этого вы должны открыть следующую страницу на своем сайте:

Http://site.ru/wp-admin/maint/repair.php

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

11. Управление лимитом памяти PHP

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

Define ("WP_MEMORY_LIMIT", "128M");

12. Перемещение каталога wp-content

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

Для этого нужно будет добавить следующий код в файл wp-config.php :

Define ("WP_CONTENT_DIR", $ _SERVER ["DOCUMENT_ROOT"]. "/blog/wp-content"); define ("WP_CONTENT_URL", "http://site.ru/blog/wp-content"); define ("WP_PLUGIN_DIR", $ _SERVER ["DOCUMENT_ROOT"]. "/blog/wp-content/plugins"); define ("WP_PLUGIN_URL", "http://site.ru/blog/wp-content/plugins");

Не забудьте заменить site.ru собственным доменным именем.

13. Использование собственных таблиц пользователей

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

Define ("CUSTOM_USER_TABLE", $table_prefix."my_users "); define ("CUSTOM_USER_META_TABLE", $table_prefix."my_usermeta ");

14. Включение многопользовательской сети

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

Чтобы ее включить, следует добавить следующую строку в файл конфигурации WordPress:

Define ("WP_ALLOW_MULTISITE", true);

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

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

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

# Защита wp-config.php order allow,deny deny from all

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



Загрузка...