Popraw bezpieczeństwo i wydajność z .htaccess WordPress

Promocja na hosting

Plik .htaccess WordPress to jeden z najważniejszych plików w serwerach internetowych opartych na systemie Apache. Jest to plik konfiguracyjny, który umożliwia wprowadzenie różnego rodzaju ustawień na poziomie katalogu, takich jak przekierowania, zabezpieczenia, kompresja plików i wiele innych. Dzięki niemu możliwe jest dostosowanie działania serwera do indywidualnych potrzeb i wymagań.

Dlaczego plik .htaccess jest ważny dla WordPress?

Dlaczego plik .htaccess jest ważny dla WordPress? Odpowiedź jest prosta – WordPress jest oparty na serwerze Apache, dlatego właśnie plik .htaccess jest kluczowy dla jego poprawnego funkcjonowania. W pliku .htaccess zapisywane są reguły, które kontrolują wiele elementów WordPressa, takich jak przekierowania, formatowanie linków czy zabezpieczenia dostępu. Bez tego pliku WordPress nie byłby w stanie działać tak, jak powinien.

Plik .htaccess jest plikiem konfiguracyjnym używanym na serwerach internetowych do wprowadzania specyficznych reguł, które określają, jak serwer ma odpowiadać na żądania HTTP. Reguły dodawane do pliku .htaccess mogą mieć różnorodne zastosowania i nie dotyczą tylko WordPress.

Plik .htaccess może być używany do:

  • Konfiguracji bezpieczeństwa – można zastosować reguły, które zabezpieczą witrynę przed atakami typu SQL Injection, Cross-Site Scripting (XSS) oraz przed próbami hakerów.
  • Przekierowania – można skonfigurować przekierowania z jednego adresu URL na inny, np. przekierowanie ze starej strony na nową stronę lub przekierowanie z adresu bez „www” na adres z „www”.
  • Kompresji – można zastosować reguły, które pozwolą na kompresję plików, takich jak CSS, JavaScript, XML i pliki tekstowe, co zmniejszy czas ładowania witryny.
  • Konfiguracji cache – można zastosować reguły, które pozwolą na ustawienie okresu ważności dla plików, co przyspieszy ładowanie strony dla użytkowników.
  • Konfiguracji wyświetlania błędów – można zastosować reguły, które pozwolą na wyświetlanie lub ukrywanie informacji o błędach, takich jak błąd 404 lub 500.

Ogólnie rzecz biorąc, reguły dodawane do pliku .htaccess pozwalają na bardziej szczegółową kontrolę nad sposobem, w jaki serwer obsługuje żądania HTTP, a tym samym wpływają na wydajność, bezpieczeństwo i funkcjonalność witryny.

Tworzenie i edycja pliku .htaccess WordPress

Dowiedz się, jak stworzyć i edytować plik .htaccess w WordPress na serwerze FTP za pomocą DirectAdmin i menedżera FTP. Skorzystaj z naszych prostych instrukcji, aby przystosować plik .htaccess do swoich potrzeb.

Tworzenie pliku .htaccess w WordPress jest dość proste. Można to zrobić na kilka sposobów – przez FTP, SSH lub przez panel administracyjny WordPressa. Warto w tym miejscu zauważyć, że plik .htaccess jest jednym z domyślnych plików, który zostanie utworzony po zainstalowaniu CMS WordPress. Jeśli pomimo to nie posiadasz pliku .htaccess na serwerze FTP, utwórz go:

Analogicznie w tej samej lokalizacji, możesz przejść do jego edycji. W ten sposób nie potrzebujesz konfigurować dodatkowego, zewnętrznego oprogramowania.

Utwórz lub edytuj .htaccess WordPress aby wpłynąć na bezpieczeństwo  i optymalizację działania całego CMS

Zabezpieczenie pliku wp-config.php

Plik wp-config.php jest jednym z najważniejszych plików w WordPressie, ponieważ zawiera informacje o połączeniu z bazą danych i kluczach uwierzytelniania. Dlatego ważne jest, aby zabezpieczyć ten plik przed niepowołanymi osobami. Można to zrobić za pomocą pliku .htaccess.

Reguła do zabezpieczenia pliku wp-config.php:

order allow,deny
deny from all

Ta reguła blokuje dostęp do pliku wp-config.php poprzez zablokowanie wszystkich żądań dostępu. Wszystkie próby dostępu zostaną odrzucone, dzięki czemu plik będzie bezpieczny przed niepowołanymi osobami.

Blokowanie wykonywania skryptów PHP w folderach

Nie zawsze chcemy, aby skrypty PHP były wykonywane w każdym folderze na naszej stronie. Może to być niebezpieczne i prowadzić do ataków na naszą stronę. Dlatego ważne jest, aby zablokować wykonywanie skryptów PHP w niektórych folderach.

Reguła do blokowania wykonywania skryptów PHP:

deny from all

W powyższym przykładzie „/folder/niebezpieczny” to ścieżka do folderu, w którym nie chcemy, aby skrypty PHP były wykonywane. Ta reguła blokuje dostęp do folderu i wykonywania skryptów PHP.

Ważne jest, aby pamiętać, że blokowanie wykonywania skryptów PHP może spowodować problemy z działaniem strony internetowej, dlatego należy stosować tę regułę ostrożnie i tylko wtedy, gdy jest to naprawdę potrzebne.

Zabezpieczenie panelu administratora dodatkowym hasłem

Zabezpieczenie panelu administratora dodatkowym hasłem może znacznie zwiększyć bezpieczeństwo Twojej strony WordPress. Możesz zrobić to poprzez dodanie wpisu w pliku .htaccess, który wymusi wprowadzenie hasła przed dostępem do panelu administracyjnego. Aby to zrobić, musisz najpierw utworzyć plik .htpasswd, w którym będą przechowywane loginy i hasła użytkowników, którzy będą mieli dostęp do panelu administratora.

Do utworzenia pliku .htpasswd możesz skorzystać z generatora online, np. dostępnego pod adresem: https://www.web2generators.com/apache-tools/htpasswd-generator. Wystarczy podać nazwę użytkownika i hasło, a generator wygeneruje ciąg znaków, który będziesz musiał skopiować do pliku .htpasswd.

Następnie w pliku .htaccess należy dodać wpis:

AuthUserFile /ścieżka/do/twojego/pliku/.htpasswd
AuthType Basic
AuthName "Wprowadź login i hasło"
Require valid-user

W pierwszej linii należy podać ścieżkę do pliku .htpasswd, który utworzyłeś wcześniej. W drugiej linii określamy typ uwierzytelniania – w tym przypadku jest to Basic. W trzeciej linii można wpisać dowolny tekst, który zostanie wyświetlony na ekranie logowania. Ostatnia linia określa, że dostęp do panelu administratora wymaga poprawnego loginu i hasła.

Udzielanie dostępu do panelu dla wybranych IP

Jeśli chcesz ograniczyć dostęp do panelu administratora tylko do wybranych adresów IP, możesz to zrobić poprzez dodanie wpisu w pliku .htaccess. W ten sposób zabezpieczysz swój panel administratora przed atakami ze strony nieznanych adresów IP.

Aby ograniczyć dostęp do panelu administratora tylko dla wybranych adresów IP, dodaj do pliku .htaccess następujący wpis:

  Order deny,allow
  Deny from all
  Allow from xxx.xxx.xxx.xxx

W miejsce xxx.xxx.xxx.xxx wstaw adres IP, z którego będzie możliwy dostęp do panelu administratora. Jeśli chcesz dodać kilka adresów IP, po prostu dodaj kolejne linie z Allow from i adresami IP.

W ten sposób tylko osoby, które łączą się z Twoją witryną z wybranych adresów IP, będą miały dostęp do panelu administratora WordPress.

Zablokowanie dostępu do strony z wybranych adresów IP

Jeśli chcesz zablokować dostęp do Twojej strony z wybranych adresów IP, możesz to zrobić za pomocą pliku .htaccess. Możesz użyć poniższej reguły, aby zablokować dostęp do strony z określonych adresów IP:

  order allow,deny
  deny from 192.168.1.1
  deny from 192.168.1.2
  allow from all

W tym przykładzie strona będzie dostępna dla wszystkich adresów IP z wyjątkiem 192.168.1.1 i 192.168.1.2. Zwróć uwagę na to, że musisz umieścić swój adres IP w regule, aby mieć nadal dostęp do strony.

Wyłączenie funkcji XML-RPC w .htaccess WordPress

Funkcja XML-RPC jest używana do zdalnego zarządzania Twoją witryną WordPress. Może być przydatna w niektórych przypadkach, ale może też stanowić potencjalne zagrożenie dla bezpieczeństwa. Możesz wyłączyć funkcję XML-RPC w pliku .htaccess, używając poniższej reguły:

  deny from all


Ta reguła uniemożliwia dostęp do pliku xmlrpc.php, co oznacza, że funkcja XML-RPC nie będzie działać na Twojej stronie WordPress.

Zabezpieczenie .htaccess przed niepowołanym dostępem

Plik .htaccess może zawierać informacje krytyczne, takie jak hasła, reguły dostępu itp. Dlatego ważne jest, aby zabezpieczyć plik przed niepowołanym dostępem. Możesz to zrobić za pomocą poniższej reguły:

  order allow,deny
  deny from all

Ta reguła uniemożliwia dostęp do pliku .htaccess, chyba że użytkownik jest na liście zezwalającej na dostęp.

Tworzenie przekierowań 301 poprzez .htaccess

Przekierowania 301 są przydatne, gdy zmieniasz adres strony lub przenosisz stronę na inny serwer. Możesz to zrobić za pomocą pliku .htaccess i poniższej reguły:

  Redirect 301 /stara-strona.html http://www.twoja-strona.pl/nowa-strona.html

W tym przykładzie każdy użytkownik, który odwiedzi stara-strona.html, zostanie przekierowany na nowa-strona.html.

Zablokowanie skanowania autorów w WordPressie

WordPress domyślnie wyświetla listę wszystkich autorów na stronie /author/, co może być niebezpieczne, ponieważ umożliwia to potencjalnym hakerom uzyskanie informacji o kontach użytkowników. Można jednak zablokować dostęp do tej strony poprzez dodanie następującej reguły w pliku .htaccess:

RewriteEngine On
RewriteCond %{REQUEST_URI} /author/ [NC]
RewriteRule .* - [F]

Reguła ta sprawdza, czy adres URL zawiera „/author/” i blokuje dostęp do strony poprzez kod HTTP 403 Forbidden.

Wyłączenie hotlinkowania zdjęć z twojego serwera

Hotlinkowanie to proces polegający na umieszczeniu obrazka na stronie internetowej, przy użyciu bezpośredniego linku do pliku na innym serwerze. Oznacza to, że osoba lub strona, która umieściła ten link, wykorzystuje zasoby twojego serwera bez twojej wiedzy lub zgody. Można jednak łatwo zablokować hotlinkowanie zdjęć z twojego serwera poprzez dodanie następującej reguły do pliku .htaccess:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?twojadomena.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [NC,F,L]

Reguła ta sprawdza, czy adres URL źródłowy (referer) zawiera twoją domenę i blokuje dostęp do plików graficznych o rozszerzeniach jpg, jpeg, png i gif, jeśli adres URL źródłowy nie pasuje do twojej domeny.

Kompresowanie CSS, JavaScript, XML i plików tekstowych

Aby zmniejszyć rozmiar plików CSS, JavaScript, XML i plików tekstowych, można skompresować ich zawartość. W pliku .htaccess można użyć modułu kompresji Apache, aby skompresować te pliki. Do tego celu można użyć następujących reguł:

  # Kompresowanie tekstowych typów MIME
  AddOutputFilterByType DEFLATE text/plain
  AddOutputFilterByType DEFLATE text/html
  AddOutputFilterByType DEFLATE text/xml
  AddOutputFilterByType DEFLATE text/css
  AddOutputFilterByType DEFLATE application/xml
  AddOutputFilterByType DEFLATE application/xhtml+xml
  AddOutputFilterByType DEFLATE application/rss+xml
  AddOutputFilterByType DEFLATE application/javascript
  AddOutputFilterByType DEFLATE application/x-javascript
  AddOutputFilterByType DEFLATE application/x-httpd-php
  AddOutputFilterByType DEFLATE application/x-httpd-fastphp
  AddOutputFilterByType DEFLATE image/svg+xml

  # Nie kompresuj zasobów dla tych agentów użytkowników
  BrowserMatch ^Mozilla/4 gzip-only-text/html
  BrowserMatch ^Mozilla/4\.0[678] no-gzip
  BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
  Header append Vary User-Agent

Powyższe reguły włączą moduł DEFLATE i skompresują pliki tekstowe, pliki CSS, JavaScript, XML oraz pliki tekstowe. Pliki, które są już skompresowane, nie zostaną ponownie skompresowane.

Zmiana lokalizacji folderu domeny na inny niż /public_html

Aby zmienić lokalizację folderu domeny na inny folder niż /public_html, należy zmodyfikować plik .htaccess w folderze domeny. Oto przykładowa reguła, która przeniesie domenę do katalogu „nowy_katalog”:

RewriteEngine On
RewriteCond %{HTTP_HOST} ^twoja_domana\.pl$ [NC]
RewriteCond %{REQUEST_URI} !^/nowy_katalog/
RewriteRule (.*) /nowy_katalog/$1 [L]

Powyższa reguła przenosi żądania z domeny do katalogu „nowy_katalog”. Zwróć uwagę, że należy zmienić „twoja_domena” i „nowy_katalog” na odpowiednie wartości.

Wymuszanie ładowania treści mieszanych przez HTTPS

Aby wymusić ładowanie treści mieszanych przez HTTPS, a nie HTTP, można dodać następującą regułę do pliku .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} [R=301,L]

Powyższa reguła wymusi używanie protokołu HTTPS dla wszystkich żądań, które korzystają z protokołu HTTP. W ten sposób można zapewnić, że wszystkie połączenia z witryną będą szyfrowane, co zwiększa bezpieczeństwo przesyłanych danych.

Wymuszanie użycia SSL

Wymuszanie użycia protokołu SSL (Secure Sockets Layer) lub jego następcy, czyli TLS (Transport Layer Security) jest ważne dla zabezpieczenia komunikacji między serwerem a przeglądarką użytkownika. Aby wymusić użycie SSL, można dodać następującą regułę do pliku .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ta reguła sprawdza, czy protokół HTTPS jest włączony dla żądania, i jeśli nie, przekierowuje użytkownika na wersję HTTPS strony. Jest to szczególnie ważne w przypadku sklepów internetowych, gdzie przesyłane są poufne informacje, takie jak dane karty kredytowej.

Przekierowanie z HTTP na HTTPS

Jeśli witryna korzysta z protokołu HTTPS i chcesz wymusić korzystanie z niego przez wszystkie żądania, możesz dodać następującą regułę do pliku .htaccess:

RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ta reguła sprawdza, czy protokół HTTPS jest włączony dla żądania, i jeśli nie, przekierowuje użytkownika na wersję HTTPS strony. Jest to szczególnie ważne w przypadku sklepów internetowych, gdzie przesyłane są poufne informacje, takie jak dane karty kredytowej.

Przekierowanie z HTTPS na HTTP

Jeśli z jakiegoś powodu chcesz przekierować użytkowników z witryny korzystającej z protokołu HTTPS na witrynę korzystającą z protokołu HTTP, można użyć następującej reguły:

RewriteEngine On
RewriteCond %{HTTPS} on
RewriteRule ^(.*)$ http://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

Ta reguła sprawdza, czy protokół HTTPS jest włączony dla żądania, i jeśli tak, przekierowuje użytkownika na wersję HTTP strony. Jednak przekierowanie z HTTPS na HTTP jest obecnie uważane za niebezpieczne i niewskazane, ponieważ przesyłane informacje mogą zostać przechwycone przez osoby trzecie.

Wymuszanie załadowania pliku index.html

Jeśli chcesz, aby plik index.html był ładowany automatycznie bez konieczności wpisywania jego nazwy w adresie strony, możesz dodać następującą regułę do pliku .htaccess:

DirectoryIndex index.html

Ta reguła mówi, że w przypadku braku wskazania konkretnego pliku do wyświetlenia, ma on automatycznie wczytać plik index.html. Dzięki temu, jeśli użytkownik wejdzie na Twoją stronę bez podawania konkretnego pliku w adresie URL, automatycznie zostanie załadowany plik index.html. Warto pamiętać, że plik index.html musi znajdować się w głównym katalogu witryny, aby ta reguła działała poprawnie.

Wyłącz funkcję XML-RPC poprzez .htaccess WordPress

Wyłączenie funkcji XML-RPC poprzez .htaccess

XML-RPC to protokół, który pozwala na zdalne wywoływanie funkcji w WordPressie. Chociaż może to być przydatne dla niektórych zastosowań, takich jak aktualizacja treści na blogu z aplikacji mobilnej, to jest to również potencjalna luka w bezpieczeństwie. Dlatego, jeśli nie korzystasz z funkcji XML-RPC w swoim WordPressie, warto ją wyłączyć, aby zwiększyć bezpieczeństwo.

Aby wyłączyć funkcję XML-RPC poprzez plik .htaccess, należy dodać następujący kod:

  Order Deny,Allow
  Deny from all

Ten kod mówi serwerowi, że ma zablokować dostęp do pliku xmlrpc.php (w którym znajduje się funkcja XML-RPC) i że nie powinien pozwalać na dostęp do niego z żadnego adresu IP. Dzięki temu można skutecznie wyłączyć funkcję XML-RPC.

Najtańszy hosting

Zastanawiasz się, czym właściwie jest hosting i jaki wybrać, aby nie przepłacać? Hosting to usługa, która umożliwia przechowywanie Twojej strony inter...

Jak przenieść stronę WWW z dhosting.pl na inny serwer w 48h?

    Jeśli masz już stronę internetową umieszczoną na serwerze u innego operatora jak np. dhosting.pl, możesz ją bezproblemowo przenieść do f...

Jak przenieść stronę WWW z Linux.pl na inny serwer w 48h?

    Jeśli masz już stronę internetową umieszczoną na serwerze u innego operatora jak np. linux.pl, możesz ją bezproblemowo przenieść do firm...

Domeny, hosting, serwery VPS i poczta e-mail

Nie znalazłeś odpowiedzi na swoje pytanie?

Nasze Biuro Obsługi Klienta jest do Twojej dyspozycji.

Telefon

Kontakt w sprawie usług i zamówień

Czynne:
poniedziałek - piątek
8.00 - 16.00
Infolinia:
+48 71 715 27 24

Poczta

Kontakt mailowy w sprawie usług i zamówień

Czynne:
poniedziałek - niedziela
24h na dobę
Email:
bok@domenomania.pl