Защита файла wp-config
ttps://saintist.ru/wp-content/uploads/2024/05/wp-config-1.png" alt="wp-конфигурация">Если вы один из многих, кто устанавливает WordPress через Fantastico, скорее всего, вы даже не будете знать о существовании файла wp-configв WordPress.. Файл wp-config.php— один из самых важных файлов в WordPress. Он содержит ключи к вашей базе данных, а также многие параметры конфигурации, которые, как вы даже не подозреваете, можно реализовать с помощью WordPress. Вот несколько трюков, которые вы можете использовать в WordPress, отредактировав файл wp-config.1. Настройки базы данных
define('DB_NAME', 'putyourdbnamehere'); define('DB_USER', 'usernamehere'); definContents
- 1 1. Настройки базы данных
- 2 2. Изменение значения кодировки базы данных
- 3 3. Изменение порядка сортировки набора символов базы данных
- 4 4. Ключи аутентификации
- 5 5. Префикс таблицы
- 6 6. Язык и каталог языков
- 7 7. Определение URL-адреса главной страницы и сайта
- 8 8. Количество редакций
- 9 9. Изменить интервал автосохранения
- 10 10. Определить новое местоположение wp-контента
- 11 11. Доступ к внешним файлам конфигурации
- 12 12. Управление файлами cookie
- 13 13. Отладка
- 14 14. Настроить журнал ошибок
- 15 15. Увеличение памяти, выделяемой PHP
- 16 16. Кэш
- 17 17. Пользовательские таблицы пользователей и мета-таблиц
- 18 18. Сохранение запросов для анализа
- 19 19. Переопределение разрешений для файлов по умолчанию
- 20 20. Константы FTP/SSH
- 21 21. Управление доступом через прокси
- 22 Защита файла wp-config
1. Настройки базы данных
ASSWORD', 'yourpasswordhere'); define('DB_HOST', 'localhost');
Это первое, что вам необходимо настроить для работы WordPress. В большинстве случаев вам нужно изменить только имя базы данных, имя пользователяи пароль. Для DB_HOST в большинстве случаев «localhost» должен работать. Если нет, обратитесь за подробностями к администратору сервера.
2. Изменение значения кодировки базы данных
define('DB_CHARSET', 'utf8');
Вам не придется менять это значение в 99 % случаев. Измените это значение только в том случае, если вы абсолютно уверены, что ваша база данных использует другую кодировку.
3. Изменение порядка сортировки набора символов базы данных
define('DB_COLLATE', '');
Еще раз меняйте это, только если вы знаете, что делаете. Если нет, лучше всего оставить это поле пустым.
4. Ключи аутентификации
define('AUTH_KEY', 'put your unique phrase here'); define('SECURE_AUTH_KEY', 'put your unique phrase here'); define('LOGGED_IN_KEY',2. Изменение значения кодировки базы данных
pan>; define('NONCE_KEY', 'put your unique phrase here');
Ключи аутентификации используются для обеспечения лучшего шифрования информации, хранящейся в файлах cookie пользователя. Перейдите на https://api.wordpress.org/secret-key/1.1/, чтобы сгенерировать новый набор ключей, и скопируйте/вставьте их в файл wp-config.php.
Если вы используете WPMU, вы увидит
3. Изменение порядка сортировки набора символов базы данных
pan>define('AUTH_SALT', 'put your unique phrase here'); define('LOGGED_IN_SALT', 'put your unique phrase here'); define('SECURE_AUTH_SALT',4. Ключи аутентификацииhere');5. Префикс таблицы
$table_prefix = 'wp_';
Эти настройки $table_prefixпозволяют вам изменить префикс wp_по умолчанию перед установкой WordPress.
Примечание. Если ваша существующая база данных уже использует префикс wp_ по умолчанию, изменение этого значения не приведет к изменению значения базы данных, а также приведет к поломке вашего сайта. Чтобы изменить существующий префикс таблицы, обратитесь к этому руководству.
6. Язык и каталог языков
define('WPLANG', 'de_DE'); define('LANGDIR', 'mylanguagedirectory');
Если вы используете файл языкового перевода для своего блога, здесь вы определяете используемый язык и расположение файлов перевода (.mo).
Определение LANGDIR не является обязательным. Если он не указан, WordPress сначала будет искать папку wp-content/languages, а затем wp-includes/languagesдля файла.mo.
7. Определение URL-адреса главной страницы и сайта
define('WP_SITEURL','http://your-site-url.com'); define('WP_HOME','http://your-site-url.com');
SITEURL относится к фактическому пути установки WordPress (путь к файлу, где расположены файлы WordPress), а HOME относится к URL-адресу, к которому вы хотите, чтобы ваш посетитель полу
5. Префикс таблицы
вариантов использования- В целях безопасности. Установите WordPress в подпапку и предоставьте посетителям доступ к ним из корневого каталога.
- Миграция на новый URL. При переходе на новый URL-адрес вы можете легко восстановить свою базу данных, указав WP_SITEURL и WP_HOME на новый URL-адрес. Никакого редактирования базы данных не требуется.
8. Количество редакций
define('WP_POST_REVISIONS', FALSE); define('WP_POST_REVISIONS', 3);
Измените количество редакций записей, которые WordPress будет регистрировать. Присвоение ему значения FALSE(без кавыч
6. Язык и каталог языков
9. Изменить интервал автосохранения
define('AUTOSAVE_INTERVAL', 160 );
При редактировании сообщения WordPress использует Ajax для автоматического сохранения изменений в сообщении по мере его редактирования. Возможно, вы захотите увеличить этот параметр, чтобы увеличить задержки между автосохранениями, или уменьшить его, чтобы не потерять изменения. По умолчанию – 60 секунд.
10. Определить новое местоположение wp-контента
define( 'WP_CONTENT_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content' );7. Определение URL-адреса главной страницы и сайта', 'http://example/blog/wp-content'); define( 'WP_PLUGIN_DIR', $_SERVER['DOCUMENT_ROOT'] . '/blog/wp-content/plugins' ); define( 'WP_PLUGIN_URL', 'http://example/blog/wp-content/plugins');
Начиная с версии WP2.6, вам разрешено переместить папку wp-contentв другое место, и она по-прежнему будет работать. Вам просто нужно указать путь к новому местоположению в файле wp-config.
11. Доступ к внешним файлам конфигурации
require_once(‘FilePathToConfigurationFiles’);
Для разработчика: если вам нужен доступ к внешнему файлу конфигурации из WordPress, его можно определить в файле wp-config.php. Это полезно при интеграции другого программного обеспечения с WordPress. Например, чтобы интегрировать bbpress с WordPress, добавьте следующее
require_once(‘filepathtoforums/bb-load.php');
8. Количество редакций
ess в WordPress.12. Управление файлами cookie
define('COOKIE_DOMAIN', '.yoursite.com'); define('COOKIEPATH', preg_replace('|https?://[^/]+|i', '', get_option('home') . '/' ) ); define(9. Изменить интервал автосохранения
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) );
Определение файлов cookie предназначен
10. Определить новое местоположение wp-контента
льзуете поддомены для обслуживания статического контента, вам не нужно, чтобы WordPress отслеживал файлы cookie для статических сайтов. Просто определите параметр COOKIE_DOMAIN, чтобы ограничить домен, отслеживаемый файлом cookie.13. Отладка
define('WP_DEBUG', true);
Опция WP_DEBUG особенно полезна при разработке сайта WP. Это позволяет увидеть, что пошло не так в коде. На реальном рабочем сайте эту опцию следует отключить (FALSE), поскольку она может повлиять на производительность сайта.
Кроме того, если вы планируете изменить некоторые встроенные в WordPress JavaScript, вы можете включить следующую опцию:
define('SCRIPT_DEBUG', true);
Это позволит вам редактировать файлы scriptname.dev.jsв каталогах wp-includes/js и wp-admin/js.
14. Настроить журнал ошибок
@ini_set('log_errors','On'); @ini11. Доступ к внешним файлам конфигурации
span>,'Off'); @ini_set('error_log','/home/example.com/logs/php_error.log');
Эта опция позволяет вам включить php error_loggingи записывать их в определенный файл. Это особенно полезно для тех, у кого нет доступа к файлу php.ini.
15. Увеличение памяти, выделяемой PHP
define('WP_MEMORY_LIMIT', '64M');
Укажите максимальный объем памяти, который может использовать PHP. Эта настройка может потребоваться в случае получения сообщения типа «Разрешенный размер памяти xxxxxx байт исчерпан».
16. Кэш
defE', true);
Активируйте WP_CACHE для повышения производительности сайта.
17. Пользовательские таблицы пользователей и мета-таблиц
define('CUSTOM_USER_TABLE', $table_prefix.'my_users'); define('CUSTOM_USER_META_TABLE', $table_prefix.'my_usermeta');
Сохраните данные пользователя в другой таблице вместо таблицы wp_usersпо умолчанию.
18. Сохранение запросов для анализа
define('SAVEQUERIES', true);
Опция SAVEQUERIES позволяет вам видеть все запросы, сделанные к базе данных. Затем вы можете проанализировать эти запросы и увидеть, какая функция ее вызвала, и сколько времени потребовалось для выполнения этого запроса.
ПРИМЕЧАНИЕ. Это повлияет на производительность вашего сайта, поэтому обязательно отключайте его, когда вы не выполняете отладку.
Чтобы просмотреть запросы, поместите следующий код в нижний колонтитул вашей темы:
if (current_user_can(‘level_10’)){
global $wpdb;
echo “
”;
print_r($wpdb->queries);
эхо «
»;
}
?>
Приведенный выше код использует возможность level_10, поэтому результаты запроса будет видеть только администратор.
19. Переопределение разрешений для файлов по умолчанию
define('FS_CHMOD_DIR', (0755 & ~ umask13. Отладкаpan>)); define('FS_CHMOD_FILE', (0644 & ~ umask()));
Два вышеуказанных параметра позволяют переопределить права доступа к файлам по умолчанию. В большинстве случаев вам не придется это определять. Однако если ваш веб-хостинг использует ограничительные разрешения для всех пользовательских файлов, это способ обойти эту проблему.
20. Константы FTP/SSH
define('FS_METHOD', 'ftpext'); define('FTP_BASE', '/path/to/wordpress/'); define('FTP_CONTENT_DIR', '/path/to/wordpress/wp-content/'); define(14. Настроить журнал ошибок>, '/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:21');
WordPress
15. Увеличение памяти, выделяемой PHP
знутри серверной части. Однако некоторые из вас могут не воспользоваться преимуществами из-за проблем с FTP-соединением. Просто обновите файл wp-config, указав необходимые учетные данные FTP, и функция обновления WP должна работать нормально.21. Управление доступом через прокси
define('WP_HTTP_BLOCK_EXTERNAL', false); define('WP_ACCESSIBLE_HO16. Кэш
>, 'api.wordpress.org');
Вышеуказанные параметры позволяют вам получить доступ к внешним хостам из вашего домена. Это полезно, если вы находитесь в среде с ограничениями (например, во внутренней сети вашей компании) и вам
17. Пользовательские таблицы пользователей и мета-таблиц
>При таком большом количестве информации в файле wp-config.php меньше всего вам нужно, чтобы хакер увидел ваш файл wp-config и получил доступ к вашей базе данных.
Добавьте следующий код в свой файл.htaccess, чтобы предотвратить доступ хакеров к вашему файлу wp-config.
# protect wpconfig.php <files wp-config.php> order allow,deny deny from all </files>
Я пропустил какие-нибудь трюки? Оставьте это в комментариях