Generator .htaccess (bezpieczeństwo)
Nagłówki bezpieczeństwa i ochrona plików
-
1Wprowadź dane
Wpisz treść, wklej tekst lub załaduj plik z dysku. -
2Kliknij przycisk
Narzędzie natychmiast przetworzy Twoje dane w przeglądarce. -
3Pobierz wynik
Skopiuj gotowy tekst lub zapisz plik na urządzeniu.
return "Wynik gotowy w 0.1s";
}
Oceń to narzędzie:
Powiązane narzędzia
Inne narzędzia, które mogą Ci się przydaćGenerator .htaccess — bezpieczeństwo w jednym pliku
Kilka linii w .htaccess znacząco podnosi bezpieczeństwo strony: dodaje nagłówki chroniące przed atakami i blokuje dostęp do wrażliwych plików. Ten generator tworzy gotowy zestaw.
Co dodają nagłówki?
| Nagłówek | Ochrona przed |
|---|---|
| Strict-Transport-Security | wymuszeniem połączenia przez HTTPS |
| X-Frame-Options | clickjackingiem (osadzaniem w ramce) |
| X-Content-Type-Options | MIME sniffing |
| Referrer-Policy | wyciekiem adresów do innych serwisów |
| Permissions-Policy | dostępem do kamery, mikrofonu, geolokalizacji |
Dobre praktyki
- HSTS włączaj dopiero, gdy cała witryna działa po HTTPS — przeglądarki pamiętają ten nagłówek długo.
- Zablokuj dostęp do
.env,.giti plików konfiguracyjnych. - Wyłącz listowanie katalogów (
Options -Indexes). - Zablokuj
xmlrpc.php, jeśli nie używasz zdalnego publikowania w WordPressie. - Testuj nagłówki narzędziami online i sprawdzaj w konsoli przeglądarki.
Jak działa generator .htaccess i skąd bierze się ochrona
Plik .htaccess to konfiguracja katalogowa Apache. Serwer odczytuje go przy każdym żądaniu skierowanym do katalogu i jego podkatalogów, dlatego zmiany działają natychmiast, bez restartu usługi. Generator .htaccess (bezpieczeństwo) działa jak kompozytor tekstu: każde zaznaczenie w interfejsie zamienia się na konkretną dyrektywę, a wynikiem jest gotowy plik do skopiowania.
Nagłówki bezpieczeństwa to dyrektywy mod_headers, najczęściej w postaci Header set lub Header always set. Nie wykonują kodu — dopisują informacje do odpowiedzi HTTP. Przeglądarka czyta je i sama zmienia sposób traktowania strony: X-Frame-Options blokuje osadzenie w ramce, X-Content-Type-Options zabrania zgadywania typu pliku, a Strict-Transport-Security nakazuje wyłącznie połączenie szyfrowane. Kolejność bloków w pliku ma znaczenie, bo Apache stosuje dyrektywy w podanej kolejności.
Blokady dostępu działają inaczej niż nagłówki. To reguły mod_rewrite albo sekcje FilesMatch, które zatrzymują żądanie, zanim serwer wyśle plik. Efektem jest odpowiedź odmowna, na przykład 403, zamiast treści .env lub zawartości katalogu .git. Generator nie sprawdza stanu serwera ani nie weryfikuje, czy dana reguła nie koliduje z istniejącym wpisem w .htaccess — dostarcza tekst, który trzeba wdrożyć świadomie.
Przykład krok po kroku: od zaznaczenia do 5 nagłówków
- Otwierasz /generator-htaccess-security i patrzysz na sekcję nagłówków. Na stronie wymieniono 5 nagłówków: Strict-Transport-Security, X-Frame-Options, X-Content-Type-Options, Referrer-Policy i Permissions-Policy.
- Zaznaczasz wszystkie 5. Na tym etapie wynik zawiera 5 dyrektyw odpowiadających za nagłówki odpowiedzi.
- Włączasz blokadę dostępu do .env i .git — to 2 dodatkowe reguły. Suma wpisów w pliku wynosi 5 + 2 = 7.
- Dodajesz wyłączenie listowania katalogów, czyli Options -Indexes. To 1 dyrektywa, więc suma rośnie do 8.
- Włączasz blokadę xmlrpc.php — kolejna reguła, łącznie 9 wpisów.
- Kopiujesz całość do .htaccess w katalogu głównym i wgrywasz na serwer. Test: wejście na /.env zwraca odmowę, a w konsoli przeglądarki widać 5 nagłówków. Jeśli HSTS jest zaznaczony, a witryna nie działa poprawnie po HTTPS, wyłącz go i wróć do tematu po naprawie certyfikatu.
Tabela referencyjna: co ustawia generator
| Element | Przed czym chroni | Kiedy włączać |
|---|---|---|
| Strict-Transport-Security | wymuszeniem połączenia przez HTTPS | tylko gdy cała witryna działa po HTTPS |
| X-Frame-Options | clickjackingiem, czyli osadzaniem strony w ramce | zawsze, o ile strona nie musi być osadzana |
| X-Content-Type-Options | MIME sniffing, czyli zgadywaniem typu pliku przez przeglądarkę | zawsze |
| Referrer-Policy | wyciekiem adresów do innych serwisów | zawsze, z wartością dobraną do polityki analityki |
| Permissions-Policy | dostępem do kamery, mikrofonu i geolokalizacji | zawsze, zawężone do funkcji, których naprawdę używasz |
| Options -Indexes | listowaniem zawartości katalogów | zawsze, jeśli nie masz katalogu z celowym listingiem |
| Blokada .env i .git | dostępem do sekretów i historii repozytorium | zawsze, gdy te pliki nie muszą być publiczne |
Jak wdrożyć plik bez przestoju
- Zacznij od kopii zapasowej — przed nadpisaniem .htaccess pobierz obecny plik. Błąd składni w .htaccess daje 500 Internal Server Error na całej witrynie i trudno go zdiagnozować bez porównania z poprzednią wersją.
- Testuj na subdomenie albo w podkatalogu — wgraj plik najpierw tam i sprawdź, czy wybrane nagłówki pojawiają się w odpowiedzi, zanim trafią na produkcję.
- Wdrażaj HSTS na końcu — najpierw upewnij się, że każde żądanie HTTP przekierowuje na HTTPS i certyfikat jest ważny. Ten nagłówek przeglądarki zapamiętują długo.
- Sprawdzaj nagłówki po wdrożeniu — użyj narzędzia online lub zakładki Network w konsoli przeglądarki. Porównaj liczbę widocznych nagłówków z liczbą zaznaczonych opcji.
- Trzymaj plik w repozytorium — wersjonowanie ułatwia wycofanie zmiany, jeśli któraś reguła zablokuje potrzebny zasób albo przerwie działanie wtyczki.
Czego generator nie uwzględnia
- Innych serwerów niż Apache — Nginx, IIS i większość hostingów serverless nie czyta .htaccess. Tam nagłówki ustawia się w konfiguracji serwera albo w panelu hostingu.
- Stanu certyfikatu i przekierowań — narzędzie nie sprawdza, czy domena ma ważny certyfikat ani czy HTTP przekierowuje na HTTPS. HSTS włączony przedwcześnie może odciąć użytkowników od strony.
- Konfliktów z wtyczkami i motywami — WordPress i inne CMS-y same dopisują reguły do .htaccess. Nadpisanie pliku może usunąć ich wpisy, na przykład reguły przepisywania adresów.
- Kontekstu aplikacji — generator nie wie, czy używasz xmlrpc.php, ani czy strona musi być osadzana w ramce. Zablokowanie tych elementów bez analizy łamie działanie serwisu.
Najczęstsze pytania
Czy nagłówki działają w Nginx?
Nie w .htaccess — Nginx nie czyta tego pliku. Nagłówki dodaje się dyrektywą add_header w konfiguracji serwera.
Co jeśli strona przestanie działać po HSTS?
Usuń nagłówek, ale pamiętaj, że przeglądarki już go zapamiętały. Problem rozwiąże przywrócenie poprawnego HTTPS.
Czy blokada .env wystarczy?
Blokada w .htaccess to jedna warstwa. Kluczowe jest też niecommitowanie plików z sekretami i ustawienie uprawnień plików.
Ile nagłówków bezpieczeństwa warto włączyć?
Na stronie narzędzia wymieniono 5 nagłówków. W praktyce włącza się je wszystkie, o ile nie kolidują z działaniem witryny — wyjątkiem jest HSTS, który wymaga pewnego HTTPS.
Czy .htaccess w podkatalogu działa tak samo jak w katalogu głównym?
Apache czyta pliki katalogowe kaskadowo, od katalogu głównego w dół. Plik w podkatalogu może nadpisać lub zawęzić ustawienia z góry, dlatego wynik generatora zwykle wgrywa się do katalogu głównego, a nie do każdego podkatalogu osobno.
Czy blokada xmlrpc.php zepsuje WordPressa?
Zepsuje tylko zdalne publikowanie i część integracji, które korzystają z tego endpointu. Jeśli nie używasz aplikacji mobilnej ani zewnętrznych klientów publikujących przez XML-RPC, blokada jest bezpieczna.
Dostałem błąd 500 po wgraniu .htaccess. Co robić?
Najczęściej to literówka albo dyrektywa niedostępna w danej wersji Apache lub nieaktywny moduł. Przywróć poprzedni plik z kopii i wdrażaj zmiany po jednym bloku, testując po każdej.
Czy nagłówki bezpieczeństwa mogą zepsuć osadzanie strony w ramce?
Tak. X-Frame-Options blokuje osadzanie, więc jeśli strona ma działać w iframe na innym serwisie, trzeba tę regułę pominąć albo zastąpić ją polityką ramek. Warto to sprawdzić przed wdrożeniem.