Snippet

Zabezpiecz WordPress: Ukryj informacje o serwerze i PHP w nagłówkach

Jak ukryć wersję PHP w nagłówkachUsuń informacje o serwerze z nagłówków HTTPUkryj wersję Apache w nagłówkach odpowiedziWyłącz podpis serwera w WordPressieZabezpiecz WordPressa, ukrywając informacje o PHPUsuń niepożądane nagłówki ApacheUkryj informacje o serwerze w nagłówkach HTTPWyłącz ujawnianie wersji PHPEdytuj plik .htaccess, aby ukryć informacje o serwerzeChroń WordPressa, ukrywając szczegóły serwera

Objaśnienie

Aby zwiększyć bezpieczeństwo swojej witryny WordPress, możesz ukryć niektóre szczegóły dotyczące serwera i PHP, które zazwyczaj są widoczne w nagłówkach HTTP. Pomaga to w zapobieganiu potencjalnym atakującym przed zbyt dużą wiedzą na temat konfiguracji twojego serwera.

Usuń wersję PHP: Pierwsza funkcja usuwa nagłówek 'X-Powered-By', który zazwyczaj pokazuje wersję PHP. Można to zrobić za pomocą header_remove('X-Powered-By').

Usuń niechciane nagłówki: Inna funkcja służy do usunięcia kilku nagłówków, takich jak 'Server', 'X-AspNet-Version' i 'X-AspNetMvc-Version'. Osiąga się to poprzez usunięcie tych nagłówków w filtrze wp_headers.

Wyłącz podpis serwera: Jeśli twój serwer korzysta z Apache, możesz wyłączyć podpis serwera, który jest małym fragmentem informacji o twoim serwerze, ustawiając nagłówek 'Server' na pustą wartość. To jest sprawdzane i stosowane, jeśli moduł 'mod_headers' jest dostępny.

Zmodyfikuj .htaccess: Na koniec, kod modyfikuje plik .htaccess, aby dodać dyrektywy, które wyłączają podpis serwera i usuwają niektóre nagłówki. Dzieje się to tylko wtedy, gdy plik jest zapisywalny i nie zawiera już tych dyrektyw.

Wprowadzając te zmiany, możesz zmniejszyć ilość informacji, które twój serwer ujawnia, co utrudnia osobom próbującym wykorzystać znane luki bezpieczeństwa oparte na szczegółach serwera.

Kod

1<?php 2// Function to remove PHP version from HTTP headers 3function wp_dudecom_remove_php_version() { 4 header_remove('X-Powered-By'); 5} 6add_action('init', 'wp_dudecom_remove_php_version'); 7 8// Function to remove server signature and other unwanted headers 9function wp_dudecom_remove_unwanted_headers($headers) { 10 unset($headers['X-Powered-By']); 11 unset($headers['Server']); 12 unset($headers['X-AspNet-Version']); 13 unset($headers['X-AspNetMvc-Version']); 14 return $headers; 15} 16add_filter('wp_headers', 'wp_dudecom_remove_unwanted_headers'); 17 18// Function to disable server signature in Apache 19function wp_dudecom_disable_server_signature() { 20 if (function_exists('apache_get_modules') && in_array('mod_headers', apache_get_modules())) { 21 header('Server: '); 22 } 23} 24add_action('send_headers', 'wp_dudecom_disable_server_signature'); 25 26// Function to modify .htaccess to hide server information 27function wp_dudecom_modify_htaccess() { 28 $htaccess_file = ABSPATH . '.htaccess'; 29 if (file_exists($htaccess_file) && is_writable($htaccess_file)) { 30 $htaccess_content = file_get_contents($htaccess_file); 31 $directives = "\n# WP-DUDE.COM: Hide server information\n"; 32 $directives .= "ServerSignature Off\n"; 33 $directives .= "Header unset X-Powered-By\n"; 34 $directives .= "Header unset Server\n"; 35 36 if (strpos($htaccess_content, 'WP-DUDE.COM: Hide server information') === false) { 37 file_put_contents($htaccess_file, $htaccess_content . $directives); 38 } 39 } 40} 41add_action('init', 'wp_dudecom_modify_htaccess'); 42?>

Instrukcja

Lokalizacja pliku: Dodaj poniższy kod do pliku functions.php swojego motywu lub do pliku własnej wtyczki.

Wymagania wstępne: Upewnij się, że masz dostęp do plików WordPressa i możliwość ich edytowania. Znajomość dostępu do serwera za pomocą FTP lub menedżera plików będzie pomocna.

Kroki wdrożenia:

  • Dostęp do plików WordPressa: Użyj klienta FTP lub menedżera plików swojego dostawcy hostingu, aby przejść do katalogu instalacji WordPressa.
  • Edytuj functions.php lub stwórz wtyczkę:
    • Jeśli używasz functions.php: Przejdź do wp-content/themes/twojego-aktywnego-motywu/ i otwórz functions.php do edycji.
    • Jeśli tworzysz wtyczkę: Przejdź do wp-content/plugins/, utwórz nowy folder, a w nim stwórz plik PHP (np. hide-server-info.php).
  • Dodaj kod: Skopiuj i wklej podany kod do pliku, który edytujesz.
  • Zapisz zmiany: Zapisz plik po dodaniu kodu.
  • Zweryfikuj zmiany: Wyczyść pamięć podręczną przeglądarki i sprawdź nagłówki HTTP swojej witryny za pomocą narzędzi dewelopera w przeglądarce lub online'owego narzędzia do sprawdzania nagłówków, aby upewnić się, że nagłówki zostały usunięte.

Jeśli potrzebujesz pomocy przy tym wdrożeniu lub wymagasz bardziej zaawansowanej funkcjonalności, rozważ skontaktowanie się z wp-dude.com w celu uzyskania fachowej pomocy.