Я пока не знаю много Wordpress, и мне просто интересно:
Перед установкой вы должны заполнить правильные данные, wp-config-sample.phpно это также включает пароль базы данных. Разве это не опасно? Я имею в виду, может кто-нибудь объяснить, как это защищено от простого чтения файла и, следовательно, получения пароля вашей БД?
Страница «Укрепление WordPress» Кодекса содержит раздел «Защита wp-config.php» . Он включает в себя изменение разрешений на 440 или 400. Вы также можете переместить файл wp-config на один каталог вверх от корня, если конфигурация вашего сервера позволяет это.
Конечно, существует некоторая опасность иметь такой файл с паролем, если кто-то получит доступ к вашему серверу, но, честно говоря, в этот момент он уже находится на вашем сервере.
Наконец, у вас нет большого выбора. Я никогда не видел альтернативных способов настройки WordPress. Вы можете заблокировать его настолько, насколько сможете, но так устроен WordPress, и если бы это была серьезная угроза безопасности, они бы так не поступили.
Спасибо за эту ссылку! Я вижу много мер безопасности там. Нужно ли применять все из них? Или что-нибудь из этого действительно необходимо?
Брэм Ванрой
3
Я не знаю, что можно когда-либо иметь слишком много [хорошо реализованной] безопасности.
mrwweb
1
@mrwweb +1 для хорошо реализованных *.
Ричард
Разве нельзя переопределить инициализацию базы данных, создав файл db.php и установив там $ wpdb? Это обойдёт значение конфигурации для пароля базы данных.
Пол Кейстер
9
Чтобы убедиться, что ваш конфигурационный файл находится на один уровень выше корневого веб-сайта (как предложил mrwweb): несколько месяцев назад произошло автоматическое обновление на рабочем сервере нашего убитого php, но оставив Apache работающим. Поэтому всем, кто заходил на домашнюю страницу, предлагалось загрузить index.php . Теоретически, любой, кто знал, что это был сайт WordPress, мог бы запросить wp-config.php и получить его (если бы он был в корне сети). Конечно, они могли бы использовать эти учетные данные БД только в том случае, если бы мы разрешали удаленные соединения MySQL - но все же, не круто. Я понимаю, что это крайний случай, но так легко сохранить свой конфиг на виду, почему бы не сделать это?
Чтобы убедиться, что ваш конфигурационный файл находится на один уровень выше корневого веб-сайта (как предложил mrwweb): несколько месяцев назад произошло автоматическое обновление на рабочем сервере нашего убитого php, но оставив Apache работающим. Поэтому всем, кто заходил на домашнюю страницу, предлагалось загрузить index.php . Теоретически, любой, кто знал, что это был сайт WordPress, мог бы запросить wp-config.php и получить его (если бы он был в корне сети). Конечно, они могли бы использовать эти учетные данные БД только в том случае, если бы мы разрешали удаленные соединения MySQL - но все же, не круто. Я понимаю, что это крайний случай, но так легко сохранить свой конфиг на виду, почему бы не сделать это?
источник
Если у кого-то нет доступа по FTP, вам не нужно беспокоиться об этом. PHP отображается на сервере до того, как он попадет в браузер пользователя.
источник
Вот еще один совет: защитите wp-config.php (и любые другие важные файлы) с помощью .htaccess
Добавьте следующее в файл .htaccess в каталоге вашего сайта, где находятся все остальные файлы WordPress:
из Как укрепить вашу установку WordPress
источник
Если у кого-то есть доступ для чтения содержимого ваших файлов Php, вы уже взломаны.
источник