WordPress jest najbardziej popularny ze wszystkich dostępnych systemów zarządzania treścią. Ponad 60% stron z CMS korzysta właśnie z WordPressa. Niestety poprzez swoją popularność strona oparta na WordPressie jest bardziej narażona na ataki. Jednak odpowiednie zabezpieczenie WordPressa zmniejszy ryzyko, że Twoja strona padnie ofiarą ataku.
Spis treści
Wszystko można złamać
Niestety nie ma doskonałych rozwiązań i żaden system informatyczny nie jest bezpieczny w 100%. Prawie każde zabezpieczenie można złamać. Często jest to kwestią czasu, a także podjęciem odpowiednich działań.
Żadna strona nie jest całkowicie bezpieczna. Jednak bardziej popularne systemy są częściej narażone na ataki. Wynika to z tego, że korzysta z nich więcej osób i agresorom bardziej opłaca się poświęcić czas na szukanie w nich luk.
Czy zatem WordPress jest bezpieczny
Czy rosnąca popularność WordPressa sprawia, że nie jest on bezpieczny?
Nie, jeśli podejmiemy odpowiednie działania. O stronę internetową, trzeba dbać. Po zrobieniu strony należy ją na bieżąco aktualizować. Nie wolno jej pozostawić samej sobie, ponieważ któregoś dnia otrzymamy powiadomienie od dostawcy swojego hostingu, że z powodu zawirusowania została ona zablokowana. Poza tym prowadząc sklep internetowy, narażamy się na wyciek wrażliwych danych.
Jak podnieść bezpieczeństwo
Jeśli odpowiednio zadbamy o swojego WordPressa, w znaczący sposób poprawimy jego bezpieczeństwo. Poniżej lista, co należy zrobić lub czego unikać, aby zwiększyć bezpieczeństwo naszej strony. Część z działań można wykonać przy użyciu gotowej wtyczki np. All In One WP Security.
Kopie zapasowe
Regularnie wykonuj kopie zapasowe plików strony oraz bazy danych. Kopia zapasowa jest jednym z najważniejszych działań prewencyjnych mających duży wpływ na skutecznie zabezpieczenie WordPressa. Dysponując świeżą kopią zapasową plików oraz bazy danych, w razie zainfekowania naszej strony lub całkowitego jej usunięcia, jesteśmy w stanie od razu przywrócić ją do normalnego funkcjonowania. Kopię zapasową można wykonywać ręcznie lub użyć do tego wtyczki np. UpdraftPlus.
Serdecznie zapraszam do poradnika jak wykonać kopię zapasową WordPressa.
Aktualizacje
Powinno się na bieżąco sprawdzać, czy nie wyszła aktualizacja WordPressa, zainstalowanych wtyczek lub używanego motywu. Jeśli tak się stanie, należy ją natychmiast zainstalować. Jeśli nie będziemy instalować aktualizacji, to narazimy naszą stronę na atak z wykorzystaniem odnalezionych luk.
Hosting również ma wpływ na zabezpieczenie WordPressa
Przy wyborze hostingu warto zwrócić uwagę na kilka aspektów. Przede wszystkim, czy usługodawca oferuje obsługę najnowszej wersji PHP (obecnie jest to PHP 7.3). Im wyższa wersja, tym skrypty są bardziej odporne, gdyż na bieżąco poprawiane jest bezpieczeństwo oraz wydajność PHP. Starsze wersje interpretera nie są już rozwijane, przez co znane luki nie są łatane. Dlatego nie należy używać wersji niższej niż 5.6. Kolejnym ważnym aspektem jest to, aby nie było ograniczeń w stosowaniu plików .htaccess oraz php.ini, gdyż poprawnie skonfigurowane znacząco wpływają na poprawę bezpieczeństwa witryny. Większość usługodawców oferuje możliwość przetestowania hostingu przed zakupem. Jest to idealna okazja na sprawdzenie obsługi technicznej. Nie bój się zadawać pytania i sprawdź czas reakcji oraz poziom obsługi. Kolejnym ważnym aspektem jest możliwość wykonywania automatycznej kopii zapasowej. Dobrze jest posiadać kopie zapasowe z różnych źródeł. Oczywiście nie można polegać tylko i wyłącznie na dostawcy hostingu, ale na pewno będzie to dodatkowe zabezpieczenie WordPressa.
Szyfrowane połączenie SSL
Certyfikat SSL służy do szyfrowania połączenia pomiędzy użytkownikiem a serwerem. Strona posiadająca zabezpieczenie SSL wyświetla zielona kłódkę w pasku adresu, a adres zaczyna się od https. Obecnie nie powinno się używać nieszyfrowanego protokołu http, ponieważ stosując go, jesteśmy narażeni na przechwycenie przez osoby postronne przesyłanych danych np. wrażliwe dane naszych użytkowników lub nasze dane do logowania do panelu administracyjnego. Jest jeszcze jeden ważny aspekt, dla którego warto przejść na szyfrowane połączenie. Wyszukiwarka Google promuje strony korzystające z szyfrowania SSL. Przekłada się to na wyższą pozycję w wynikach wyszukiwania. Poza tym coraz więcej internautów jest świadomych zagrożenia jakie niesie ze sobą korzystanie ze stron nieużywających SSL i wolą odwiedzać strony posiadające zieloną kłódkę w pasku adresu.
Certyfikat SSL można kupić lub wykorzystać darmowy Let’s Encrypt. Jego instalacja nie jest trudna, a zyskamy tak cenną zieloną kłódkę przy adresie naszej strony 😉
Niebezpieczne wtyczki i motywy
Wtyczki oraz motywy należy pobierać tylko i wyłącznie z zaufanych i legalnych źródeł. Dzięki temu mamy pewność, że są „czyste”. Pirackie wersje często posiadają bonus w postaci kodu infekującego. Może być to link na stronę lub reklamy. Jedno i drugie jest szkodliwe, gdyż poprzez link nasza strona będzie tracić swoją moc i będzie przyczyniać się do pozycjonowania innej obcej strony. Z kolei natrętne reklamy o nieodpowiedniej i dziwnej treści mogą skutecznie odstraszyć użytkowników. Jednak najgorszy scenariusz jest taki, że agresor może umieścić we wtyczce back door i uzyskać dostęp do zaplecza w tym bazy danych naszej witryny! Dlatego lepiej zapłacić za daną wtyczkę lub po prostu całkowicie z niej zrezygnować. Może się wydawać, że idealnym rozwiązaniem jest skorzystanie z darmowych odpowiedników. Niestety tu także należy być czujnym. W darmowych wtyczkach również może czyhać niebezpieczeństwo.
Należy również usuwać niepotrzebne wtyczki. Samo ich wyłączenie nie uchroni nas przed włamaniem, jeśli zostaną w nich odnalezione luki. Pamiętaj, że każda dodatkowa wtyczka obniża poziom bezpieczeństwa naszej strony. Nawet w tych płatnych może zostać odnaleziona luka. Oczywiście jest duże prawdopodobieństwo, że pojawi się aktualizacja ją łatająca, jednak zanim to nastąpi, agresorzy mogą przez jakiś czas wykorzystywać podatność.
Zmiana adresu logowania się do WordPressa
Domyślnie adres logowania do zaplecza to nazwadomeny.pl/wp-admin. Za pomocą wtyczki WPS Hide Login można go zmienić na inny, utrudniając osobom postronnym dostęp do naszej strony.
Ukrycie nazwy użytkownika
Powszechnie wiadomo, że najgorszym loginem dla administratora jest słowo admin. Równie niedobrym będzie imię lub wyraz, który ma jakieś znaczenie. Najlepiej zastosować zbitkę liter i cyfr. Jednak jeśli nie przeprowadzimy jednej małej operacji, to nasze starania pójdą na marne i pomimo tego, że nasz login będzie zawiły, to jego odczytanie będzie kwestią kilku sekund. W ten sposób ułatwimy agresorowi zadanie, gdyż pozostanie mu do odgadnięcia „tylko” hasło. Aby się przekonać, czy Twoja strona jest na to podatna, wpisz po nazwie domeny poniższy ciąg:
https://twojadomena.pl/?author=1
Jeśli w pasku adresu, po nazwie domeny pojawi się Twój login, to znaczy, że najwyższa pora to zmienić 🙂
W tym celu wklej poniższy kod do pliku .htaccess znajdującego się w folderze głównym instalacji WordPressa.
RewriteEngine On
RewriteCond %{REQUEST_URI} !^/wp-admin [NC]
RewriteCond %{QUERY_STRING} author=\d
RewriteRule ^ /? [L,R=301]
Za pomocą pliku .htaccess możemy zmieniać konfigurację serwera. Zapraszam do artykułu: Jak utworzyć plik .htaccess, gdzie przedstawiam sposób, w jaki stworzyć plik zaczynający się od kropki. Plik .htaccess jest podstawą w ochronie strony internetowej.
Zmiana prefiksu do bazy
Podczas instalacji WordPressa jesteśmy proszeni o podanie prefiksu tabel znajdujących się w bazie danych. Domyślną wartością jest _wp. Jeśli ją pozostawimy, ułatwimy atak (metodą SQL Injection) na bazę danych. Jeśli nasz WordPress jest już zainstalowany, nadal mamy możliwość zmiany prefiksu. Najrozsądniejszym wyborem jest użycie do tego wtyczki np. Brozzme DB Prefix change. Pamiętaj jednak, aby przed zmianą prefiksu zrobić kopię zapasową bazy danych oraz pliku konfiguracyjnego. Po zmianie prefiksu usuń wtyczkę. Bardziej ambitni mogą spróbować ręcznie zmienić prefiks. Nie jest to skomplikowane zadanie, jednak dość pracochłonne oraz wymagające uwagi.
Kontrola plików na serwerze
Warto co jakiś czas przejrzeć pliki na serwerze, czy nie ma jakiś niepożądanych, których sami nie wgrywaliśmy. Można w tym celu użyć wtyczki, np. Wordfence Security, lub wykonać to samemu.
Zmiana kluczy w pliku wp-config.php
Jeśli nasza strona została zainfekowana lub wydaje nam się, że ktoś niepowołany uzyskał do niej dostęp, należy wtedy zmienić klucze znajdujące się w pliku wp-config.php. Klucze te wykorzystywane są do szyfrowania danych przechowywanych w ciasteczkach znajdujących się na komputerach użytkowników. Do wygenerowania kluczy możemy użyć narzędzia. Każda zmiana choćby jednego z ośmiu kluczy spowoduje, że nasi zalogowani użytkownicy zostaną automatycznie wylogowani. Poniżej przykładowe klucze:
define('AUTH_KEY', 'Qhh+thrFZ?;C[?,.g<`U)s-!k}hnh%*UA6uT7F!U~?9k@Bii`Bo$[[c|#u@hqp)F');
define('SECURE_AUTH_KEY', 'g^#EZ2|pAv:k7=$G0s pd4a 3B^u=O;e9}@ PK_50TwLV*SrJ+qCn-&w%l|)[+x<');
define('LOGGED_IN_KEY', 'MjL,4DlY<0JN,xD`J?VGZ/>LGe)Q!Ua`vqKV*LPvOoBdtEWAUv;7!z?=:]5 +');
define('NONCE_KEY', 'Z546MG7}Tyi2Ikm|%VoY=|&=}1&|LB)?,1v/:5c>Nr{WBr&JwmP_Xn:3K: ub#_8');
define('AUTH_SALT', 'L)T71D2 :-=xVWq+)E+N@x2Oo>9~3L];Z5~$%O=))S-zL+jMpSROR@+#)6{}N4W');
define('SECURE_AUTH_SALT', 'emO[(sM=>k #jkOSJ+>q-4<?KWI|~-xcmnh[o&E+Mo(U]p%|9D$GvnWH,s7@K81&');
define('LOGGED_IN_SALT', 'kf#)X(3Hz{IY{Qa?$R-$f&t>?Sue/n@bK:7Fq,7iw|_P4M>;Nu:00BrQTiS}?PH*');
define('NONCE_SALT', 'p7]`/hdk8^>+HRUB|pXz,J9L_dLNxt1DXk(.7M`tK)>{)=F@UduR4{NFdwR?>bXH');
Ukrycie niegotowej witryny
Jeśli tworzymy stronę dla Klienta, może się zdarzyć, że będziemy musieli zainstalować ją na serwerze, jeszcze jak będzie w fazie produkcji. W takim stanie dobrze jest, jak nikt z zewnątrz nie będzie miał do niej dostępu. Wystarczy dodać do pliku .htaccess znajdującego się w głównym folderze strony poniższy kod:
<Limit GET POST PUT>
order deny,allow
deny from all
allow from xxx.xxx.xxx.xxx
allow from yyy.yyy.yyy.yyy
</Limit>
Zamiast xxx.xxx.xxx.xxx oraz yyy.yyy.yyy.yyy wpisz IP swoje i Twojego klienta. Można umieszczać dowolną ilość IP. Tu sprawdzisz swój adres IP.
Zmiana ID admina
Najczęściej mniejsze witryny mają tylko jednego użytkownika, który jest administratorem. Domyślnie pierwszy utworzony użytkownik ma ID o numerze 1. Takie ustawienie bardzo ułatwia atak na naszą stronę, dlatego należy zmienić domyślną wartość ID. W tym celu udaj się do phpMyAdmin i z poziomu zakładki SQL wpisz poniższe polecenie, gdzie jako prefix podaj swój przedrostek dla tabel (domyślnie jest to wp_), a zamiast 960 podaj wybraną przez siebie liczbę. Od teraz będzie to nowe ID dla admina.
UPDATE prefix_users SET ID=960 WHERE ID=1;
Należy jeszcze zmienić ID w tabeli prefix_usermeta poleceniem:
UPDATE prefix_usermeta SET user_id=960 WHERE user_id=1;
Kolejnym niezbyt dobrym ustawieniem jest taki sam login oraz nick. Dobrze jest, jak oba różnią się od siebie. Zmiany można dokonać w prosty sposób, wchodząc do tabeli prefix_users i edytując wybranego użytkownika, któremu chcemy zmienić login lub nick. User_login jest to login do panelu WordPressa, a User_nickname jest to nasz nick.
Zabezpieczenie WordPressa poprzez zablokowanie dostępu do pliku .htaccess
Oprócz reguł blokujących dostęp do plików w naszej witrynie, należy także dodać reguły chroniące sam plik .htaccess przed otwarciem z zewnątrz. Kod ten należy dodać do pliku .htaccess znajdującego się w głównym folderze naszej witryny. Dzięki temu zablokujemy dostęp do każdego pliku, którego nazwa zaczyna się od .hta.
<Files ~ "^.*\.([Hh][Tt][Aa])">
order allow,deny
deny from all
satisfy all
</Files>
Wyłączenie wbudowanego edytora kodu
Kod strony możemy edytować z poziomu panelu administracyjnego WordPressa klikając na Wygląd->Edytor. Na pierwszy rzut oka wydaje się to wygodne. Niestety nie jest bezpieczne. Agresor uzyskując dostęp do panelu naszej strony mając dostęp do edytora kodu może dokonać dużych szkód. Aby zablokować edytor kodu wystarczy dodać do pliku wp-config.php poniższą linijkę kodu:
define( 'DISALLOW_FILE_EDIT', true );
Jest to kolejny ważny aspekt, jeśli chcemy zadbać o zabezpieczenie WordPressa przed „udanymi” atakami.
Wyłączenie informacji o błędach
Warto zablokować wyświetlanie się błędów pochodzących od wtyczek lub użytego motywu. Informacje o błędach mogą zawierać dane o strukturze plików. Taka informacja może być bardzo pomocna dla agresora. Aby wyłączyć raportowanie błędów należy do pliku wp-config.php dodać poniższy kod:
error_reporting(0);
@ini_set('display_errors', 0);
Zablokowanie hotlinków
Hotlinkowanie jest to nieetyczny proceder polegający na podkradaniu transferu. Osoba, która chce zaoszczędzić swój transfer, korzysta z grafiki umieszczonej w naszej witrynie, wstawiając u siebie link do naszej grafiki. W ten sposób osoba taka oszczędza swój transfer kosztem naszego. Problem można bardzo łatwo rozwiązać. Aby zablokować hotlinkowanie, wystarczy do pliku .htaccess (znajdującego się w folderze głównym) dodać poniższy kod:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?twojadomena\.pl/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ - [F]
Jeśli w pliku .htaccess występuje już linijka włączająca moduł przepisywania adresów RewriteEngine On, to nie należy jej umieszczać po raz drugi. W miejsce twojadomena\.pl należy wpisać adres swojej domeny. Należy zwrócić uwagę na to, aby każdą kropkę w adresie poprzedzać ukośnikiem. W ostatniej linijce znajduje się wyrażenie regularne określające, które rozszerzenia będą blokowane oraz co ma się stać, gdy zostanie podjęta próba skorzystania z naszych grafik. W powyższym przypadku zamiast obrazka zostanie wyświetlona strona z błędem 403. Oczywiście zamiast błędu możemy wyświetlić jakąś grafikę. Kod wtedy będzie miał postać:
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://(.+\.)?twojadomena\.pl/ [NC]
RewriteCond %{HTTP_REFERER} !^$
RewriteRule .*\.(jpe?g|gif|bmp|png)$ https://domena.pl/obrazek.jpg [L]
W ostatniej linijce należy podać ścieżkę do pliku z obrazkiem.
Zmiana uprawnień do katalogów i plików
Ważną kwestią jest odpowiednie ustawienie praw dostępu do plików oraz katalogów. Zmiany można dokonać z poziomu panelu administracyjnego naszej domeny. W DirectAdmin prawa dostępu ustawimy w managerze plików.
Poniżej mała ściągawka co oznaczają cyfry przy ustawianiu uprawnień:
- 0 – brak praw,
- 1 – prawo do uruchomienia,
- 4 – prawo do odczytu,
- 5 – prawo do odczytu i uruchomienia,
- 6 – prawo do odczytu i zapisu,
- 7 – prawo do odczytu, zapisu i uruchomienia.
Uprawnienia obejmują trzy cyfry:
- pierwsza cyfra – prawa właściciela,
- druga cyfra – prawa grupy,
- trzecia cyfra – prawa dla pozostałych użytkowników.
Zaleca się ustawienie uprawnień:
- dla katalogów – 755,
- dla plików – 644,
- .htaccess – 444 lub 400,
- wp-config.php – 600,
- configuration.php – 600.
Należy jednak pamiętać, że ustawienie bardziej restrykcyjnych praw dostępu może spowodować błędy w aktualizacji WordPressa, zainstalowanych wtyczek lub motywu. Najbardziej niebezpiecznym ustawieniem dla katalogów jest wartość 777. Oznacza ona nieograniczony dostęp do wszystkich katalogów.
Wyłączenie rejestracji użytkowników
Jeśli nie planujemy wykorzystywać na naszej stronie opcji rejestracji nowych użytkowników, należy ją wyłączyć. Opcja znajduje się w Ustawienia -> Ogólne -> Członkostwo. Wyłączenie rejestracji użytkowników jest prostym, a zarazem skutecznym sposobem na zabezpieczenie WordPressa przed agresorami.
Wyłączenie listowania
Problem z możliwością przeglądania struktury strony przez osoby postronne najczęściej dotyczy stron korzystających z tanich lub darmowych hostingów. Odwiedzający mogą bez problemu przeglądać katalogi takiej strony. Tego typu atak nosi miano Path Traversal. Osoba mająca nieczyste zamiary może to wykorzystać. Na zdecydowanej większości płatnych hostingów nie ma takiej możliwości. Serwery są tak skonfigurowane, że mają automatycznie wyłączoną możliwość przeglądania katalogów. Niektóre hostingi mają opcję wyłączenia listowania w panelu administracyjnym. Jeśli nie ma takiej opcji, to istnieje bardzo proste rozwiązanie. Wystarczy do pliku .htaccess znajdującego się w głównym katalogu dodać poniższy kod:
IndexIgnore *
Options All -Indexes
Jeśli korzystasz z hostingu opartego o serwery IdeaWebServer, to dodaj dodatkową linijkę kodu:
Options -DirList
Jest jeszcze jeden sposób na wyłączenie listowania konkretnego katalogu. Należy umieścić w nim pusty plik index.html. Zabezpieczenie WordPressa przed atakiem Path Traversal nie jest skomplikowane, a dzięki temu możemy uchronić naszą stronę przed niekontrolowanym do niej dostępem przez osoby postronne.
Zabezpieczenie WordPressa przed szkodliwymi plikami PHP
Źle napisane wtyczki pozwalające wczytywać zdjęcia oraz dokumenty mogą stanowić poważne zagrożenie dla naszej strony. Agresor może przy ich pomocy wczytać swój infekujący kod PHP. Bardzo łatwo jest się zabezpieczyć przed taką sytuacją. Wystarczy stworzyć plik .htaccess i wkleić do niego poniższy kod:
RewriteEngine On
RewriteCond %{REQUEST_METHOD} GET
RewriteCond %(QUERY_STRING} [a-zA-Z0-9_]=http:// [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=(\.\.//?)+ [OR]
RewriteCond %{QUERY_STRING} [a-zA-Z0-9_]=/([a-z0-9_.]//?)+ [NC]
RewriteRule .* - [F]
<Files *.php>
Order allow,deny
Deny from all
</Files>
Plik .htaccess wraz z powyższym kodem należy umieścić we wszystkich katalogach, w których nie powinno być plików z rozszerzeniem php – folderach z grafiką, plikami css, javascript oraz plikami językowymi.
Ochrona folderu wp-admin
Jeśli posiadamy statyczny adres IP możemy sprawić, że logowanie będzie możliwe tylko z naszego komputera. W tym celu należy do folderu wp-admin dodać plik .htaccess z poniższym kodem:
order deny,allow
allow from xxx.xxx.xxx.xxx
deny from all
W miejsce xxx.xxx.xxx.xxx należy wstawić adres IP, z którego będzie następowało logowanie.
Porządek na serwerze również ma wpływ na zabezpieczenie WordPressa
Na serwerze należy trzymać tylko i wyłącznie pliki niezbędne do poprawnego działania strony. Nie powinno się trzymać pozostałości po starej stronie, zwłaszcza gdy była oparta o system zarządzania treścią CMS. Agresor może wykorzystać luki w starej wersji strony i dokonać ataku na nową aktualną stronę. Należy również usunąć pliki związane z systemem kontroli wersji. Niepotrzebne są także pliki typu readme.html oraz pliki tekstowe z rozszerzeniem .txt (z wyjątkiem pliku robots.txt oraz web.config.txt). Agresor może wykorzystać te pliki do odczytania numeru wersji.
Zabezpieczenie WordPressa – Podsumowanie
Zabezpieczenie WordPressa jest bardzo ważne do poprawnego funkcjonowania naszej strony. Jeśli nie poświęcimy czasu na zwiększenie poziomu bezpieczeństwa, możemy potem tego żałować, a całe nasze starania pójdą na marne. Powyższa lista będzie na bieżąco aktualizowana i będę dodawać do niej nowe pozycje.
Super artykuł! Bardzo przystępnie napisany. Ja akurat mierzę się z problemem polegającym na wzmożonym ruchu na moim hostingu. (Woocommerce) Obciążony jest prze to CPU i RAM. Hostingodwaca zaczął zwracać mi już uwagę. Zazwyczaj jest to atak z tego samego IP, ale jak go zablokuje, to pojawiają się inne. Boję się instalować wtyczki, bo i one nie gwarantują niczego, a czasem nawet szkodzą. Czy mogłabyś mi pomóc zaradzić tej sytuacji?
Dziękuję, cieszę się, że artykuł jest przydatny 🙂
Wszystko wskazuje na atak DDoS. Moim zdaniem warto rozważyć wdrożenie usługi CloudFlare.
Można także spróbować wdrożyć wtyczkę All In One WP Security. W najbliższym czasie planuję dodać poradnik jak ją skonfigurować.
Nie wiem, kto jest dostawcą usług hostingowych, ale niektórzy dostawcy zapewniają ochronę DDoS. Tak więc może warto zmienić hosting.
Zgłosiłem się do mojego hostingodawcy dhosting.pl. Wysłałem im zgłoszenie. Mają w ofercie taką usługę. Zgłosiłem im swój problem. Zobaczymy co odpowiedzą. Za poradę bardzo dziękuję. Jesteś bardzo miła i pomocna. Będę obserwował Twojego bloga. Bardzo interesujący. Pozdrawiam i życzę wszystkiego dobrego!
Dziękuję za miłe słowa i cieszę się, że pomogłam 🙂 Pozdrawiam serdecznie
Witam.
Bardzo fajny i przydatny blog :).
Mam pytanko, jak najlepiej uporać się z napływem rejestracji kont spamerskich na sklepie (woocommerce)?Ustawiłem limity dla adresów, usunąłem konta spam ale nadal się pojawiają.
Dziękuję, cieszę się, że blog jest przydatny 🙂
Do zabezpieczenia formularza rejestracji polecam wtyczkę: Advanced noCaptcha & invisible Captcha