Nie znam jeszcze dużo Wordpress i zastanawiam się:
Przed instalacją musisz podać poprawne dane, wp-config-sample.phpale obejmuje to również hasło do bazy danych. Czy to nie jest niebezpieczne? Mam na myśli, czy ktoś może wyjaśnić, w jaki sposób jest chroniony przed samym czytaniem pliku, a tym samym uzyskaniem hasła do bazy danych?
Strona „Hartowanie WordPress” Kodeksu zawiera sekcję „Zabezpieczanie wp-config.php” . Obejmuje to zmianę uprawnień na 440 lub 400. Możesz także przenieść plik wp-config o jeden katalog w górę z katalogu głównego, jeśli konfiguracja serwera na to pozwala.
Oczywiście istnieje pewne niebezpieczeństwo posiadania pliku z takim hasłem, jeśli ktoś uzyska dostęp do twojego serwera, ale, szczerze mówiąc, w tym momencie jest już na twoim serwerze.
Wreszcie nie masz dużego wyboru. Nigdy nie widziałem alternatywnych sposobów konfiguracji WordPressa. Możesz zablokować go jak najwięcej, ale tak zbudowano WordPress, a gdyby to było poważne zagrożenie bezpieczeństwa, nie zrobiliby tego w ten sposób.
Dzięki za ten link! Widzę tam wiele środków bezpieczeństwa. Czy należy zastosować je wszystkie? A może nic z tego nie jest naprawdę konieczne?
Bram Vanroy
3
Nie wiem, czy można mieć zbyt wiele [dobrze wdrożonych] zabezpieczeń.
mrwweb
1
@mrwweb +1 za dobrze wdrożony *.
Richard
Czy nie można zastąpić inicjalizacji bazy danych, tworząc plik db.php i ustawiając tam $ wpdb? Spowodowałoby to pominięcie wartości konfiguracji hasła bazy danych.
Paul Keister,
9
Aby uzasadnić utrzymywanie pliku konfiguracyjnego o jeden poziom wyżej niż root (jak sugerował mrwweb): kilka miesięcy temu automatyczna aktualizacja naszego serwera produkcyjnego zabiła php, ale pozostawił działający apache. Tak więc wszystkim, którzy odwiedzili stronę główną, oferowano pobieranie index.php . Teoretycznie każdy, kto wiedział, że jest to witryna WordPress, mógł poprosić o wp-config.php i uzyskać go (gdyby był w katalogu głównym). Oczywiście mogliby korzystać z tych poświadczeń DB tylko wtedy, gdy zezwolilibyśmy na zdalne połączenia MySQL - ale nadal nie byłoby to fajne. Zdaję sobie sprawę, że jest to grzywka, ale tak łatwo jest ukryć konfigurację, dlaczego nie zrobić?
Aby uzasadnić utrzymywanie pliku konfiguracyjnego o jeden poziom wyżej niż root (jak sugerował mrwweb): kilka miesięcy temu automatyczna aktualizacja naszego serwera produkcyjnego zabiła php, ale pozostawił działający apache. Tak więc wszystkim, którzy odwiedzili stronę główną, oferowano pobieranie index.php . Teoretycznie każdy, kto wiedział, że jest to witryna WordPress, mógł poprosić o wp-config.php i uzyskać go (gdyby był w katalogu głównym). Oczywiście mogliby korzystać z tych poświadczeń DB tylko wtedy, gdy zezwolilibyśmy na zdalne połączenia MySQL - ale nadal nie byłoby to fajne. Zdaję sobie sprawę, że jest to grzywka, ale tak łatwo jest ukryć konfigurację, dlaczego nie zrobić?
źródło
Jeśli ktoś nie ma dostępu przez FTP, nie musisz się tym martwić. PHP jest renderowane na serwerze, zanim trafi do przeglądarki użytkowników.
źródło
Oto kolejna wskazówka: chroń wp-config.php (i wszelkie inne poufne pliki) za pomocą .htaccess
Dodaj następujące pliki do pliku .htaccess w katalogu witryny, w którym znajdują się wszystkie inne pliki WordPress:
od Jak zaostrzyć instalację WordPress
źródło
Jeśli ktoś ma dostęp do odczytu zawartości twoich plików php, już zostałeś zhakowany.
źródło