Статьи

Завоевание файла wp-config.php — 11 полезных практик

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


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

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

Готов? ОК, поехали!


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

1
define(‘WP_POST_REVISIONS’, false );

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

1
define(‘WP_POST_REVISIONS’, 2 );

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

1
define(‘COOKIE_DOMAIN’, ‘www.yourwebsite.com’);

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


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

1
define(‘FS_METHOD’, ‘direct’);

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


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

1
2
3
4
5
# protect wpconfig.php
<files wp-config.php>
    order allow,deny
    deny from all
</files>

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


SSL включен на вашем сервере? Большой! Вы можете заставить WordPress использовать безопасное соединение, когда вы входите в систему с этой строкой кода:

1
define(‘FORCE_SSL_LOGIN’, true);

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

1
define(‘FORCE_SSL_ADMIN’, true);

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


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

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

1
$table_prefix = ‘wooh00yeah_’;

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


Давайте просто прочитаем из Кодекса WordPress :

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

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


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

1
define(‘AUTOSAVE_INTERVAL’, 240 );

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

1
define(‘RELOCATE’,true);

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

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


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

1
define(‘DISALLOW_FILE_EDIT’,true);

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

1
define(‘DISALLOW_FILE_MODS’,true);

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


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

1
define(‘WP_DEBUG’,true);

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


Мы выбрали 11 отличных советов и уловок для ваших сайтов WordPress, но уловки для файла wp-config.php , конечно, не ограничиваются этими. Есть ли у вас хорошие трюки, чтобы поделиться? Ваши комментарии всегда приветствуются!