WP_DEBUG włączony na produkcji
Co to oznacza
Jeśli na Twojej stronie produkcyjnej aktywna jest jedna lub więcej stałych debugowania WordPress, ujawniasz informacje techniczne publicznie. Dotyczy to stałych:
- WP_DEBUG — włącza tryb debugowania, który raportuje błędy PHP.
- WP_DEBUG_DISPLAY — wyświetla błędy bezpośrednio na stronie, widoczne dla odwiedzających.
- WP_DEBUG_LOG — zapisuje błędy do pliku
wp-content/debug.log.
Te stałe są przydatne podczas developmentu, ale na stronie produkcyjnej stanowią zagrożenie bezpieczeństwa.
Jakie jest ryzyko
- Wyciek informacji technicznych — komunikaty błędów PHP ujawniają ścieżki plików na serwerze, nazwy tabel bazy danych, wersje oprogramowania i fragmenty kodu. Dla atakującego to gotowa mapa infrastruktury.
- Publiczny plik debug.log — plik
wp-content/debug.logjest często dostępny z przeglądarki pod adresemtwojastrona.pl/wp-content/debug.log. Może zawierać dane wrażliwe: zapytania SQL, tokeny, ścieżki, a nawet fragmenty danych użytkowników. - Obniżona wydajność — tryb debugowania spowalnia działanie strony, ponieważ PHP rejestruje każdy notice i warning.
- Profesjonalny wizerunek — wyświetlanie błędów PHP na stronie podważa zaufanie odwiedzających i klientów.
Jak to naprawić
- Wyłącz debugowanie w
wp-config.php:define('WP_DEBUG', false); define('WP_DEBUG_DISPLAY', false); define('WP_DEBUG_LOG', false); - Usuń istniejący plik logów — sprawdź, czy istnieje
wp-content/debug.logi usuń go. - Zablokuj dostęp do plików logów — dodaj regułę na serwerze, nawet gdyby plik został przypadkowo utworzony ponownie:
<Files debug.log> Order Deny,Allow Deny from all </Files> - Używaj dedykowanych narzędzi — jeśli potrzebujesz monitoringu błędów na produkcji, skorzystaj z narzędzi typu Sentry lub New Relic zamiast WP_DEBUG.