Jak zabezpieczyć produkty cyfrowe w WooCommerce przed dostępem przez REST API

Adam z Studio Orange | 18/05/2025

Zdjęcie wpisu na bloga przedstawiającego jak zabezpieczyć swoje produkty cyfrowe sprzedawane na WooCommerce

Wstęp

Od kilku lat pomagam właścicielom sklepów WooCommerce w bezpiecznym udostępnianiu materiałów cyfrowych – od ebooków i kursów wideo, po szablony graficzne czy pliki audio. Zauważyłem jednak, że wielu sprzedawców nie zdaje sobie sprawy, że domyślne ustawienia WordPressa pozwalają na łatwe wyciągnięcie linków do produktów przez REST API.

W tym wpisie pokażę Ci, jak w prosty sposób zablokować nieautoryzowany dostęp do „spisu” wszystkich mediów na Twojej stronie. Dzięki temu upewnisz się, że tylko Twoi klienci będą mieli dostęp do zakupionych materiałów, Twoje cyfrowe produkty będą bezpieczniejsze, a serwer nie będzie narażony na niepotrzebne obciążenie.

Na czym polega problem?

Z mojego doświadczenia wynika, że domyślne ustawienia WordPressa sprawiają, iż każdy może wysłać zapytanie do endpointu /wp/v2/media i otrzymać pełną listę plików w bibliotece mediów. WooCommerce rejestruje produkty cyfrowe (ebooki, szablony, wideo, audio) właśnie jako wpisy typu „attachment”, więc adresy pobierania Twoich towarów stają się publiczne. Wystarczy dodać parametr search z rozszerzeniem pliku, np. .zip czy .pdf, by w kilka chwil zidentyfikować wszystkie linki.

Skutki tej luki:

  • Nieautoryzowane pobieranie – ktoś może udostępniać Twoje pliki bez zgody i bez płacenia.
  • Zwiększone obciążenie serwera – masowy scraping generuje niepotrzebny ruch.
  • Utrata kontroli nad dystrybucją – nie wiesz, kto i skąd pobiera materiały.

Przykład wykorzystania REST API

Aby sprawdzić, czy na Twojej stronie masz zabezpieczony ten „element” wystarczy, że wpiszesz w wyszukiwarkę (kiedy nie jesteś zalogowany jako administrator np. wejdź na stronę przez incognito) taki adres:

https://twojadomena.pl/wp-json/wp/v2/media?search=.pdf&per_page=50

Powyższy adres url pokażę 50 wyników z plikami PDF, jeżeli dodałeś takie do swojego WordPressa, więc jak widzisz jest to banalnie proste do wykradnięcia Twoich cyfrowych produktów, jeżeli nie są one zabezpieczone.

Jak często ten problem występuje?

Przygotowując ten wpis, przeanalizowałem 25 losowo wybranych sklepów WooCommerce sprzedających produkty cyfrowe. W 18 z nich za pomocą zapytania do REST API bez trudu uzyskałem dostęp do plików płatnych produktów – co pozwoliłoby je pobrać na komputer, choć oczywiście tego nie zrobiłem.

Jak możecie zauważyć jest to coś co często osoby, które nawet profesjonalnie zajmują się tworzeniem sklepów internetowych dla klientów nie zauważają i narażają swoich klientów na straty.

Sposób na zabezpieczenie swoich produktów cyfrowych

Prostym rozwiązaniem tego problemu, jest ograniczenie możliwości wykorzystania tego adresu url przez osoby nieautoryzowane, czyli pozostawienie dostępu wyłącznie dla użytkownika z rolą administratora.

Aby to zrobić należy dodać poniższy kod do pliku functions.php Twojego motywu:

Po dodaniu tego kodu każdy użytkownik, który nie jest administratorem, a spróbuję wpisać ten adres w swoją wyszukiwarkę otrzyma błąd 403.

W jaki sposób dodać kod PHP?

Najlepszym i najbezpieczniejszym miejscem na dodanie kodu PHP jest plik functions.php w motywie potomnym. Dlaczego motyw potomny? Dzięki temu Twoje zmiany nie zostaną nadpisane podczas aktualizacji motywu głównego. Aby to zrobić:

1. Utwórz motyw potomny, jeśli jeszcze go nie masz (poradnik już niedługo).

2. Otwórz plik functions.php motywu potomnego i wklej kod na jego końcu.

3. Zapisz zmiany i gotowe!

Jeśli jednak nie chcesz tworzyć motywu potomnego lub obawiasz się, że coś może pójść nie tak, możesz skorzystać z dedykowanych wtyczek, takich jak Code Snippets. Wtyczka ta pozwala na bezpieczne dodawanie kodu PHP bez konieczności ingerowania w pliki motywu.

Jak to zrobić za pomocą Code Snippets?

1. Zainstaluj i aktywuj wtyczkę Code Snippets.

2. Przejdź do sekcji Snippets w panelu WordPress i kliknij „Dodaj nowy”.

3. Wklej kod PHP, nadaj snippetowi nazwę, a następnie zapisz i aktywuj.

Oba rozwiązania będą tak samo skuteczne – wybierz to, które będzie dla Ciebie wygodniejsze! ?

Podsumowanie

Jeżeli sprzedajesz produkty cyfrowe na swoim sklepie to koniecznie sprawdź, czy nie jesteś narażony na ten problem. Jak mogłeś przeczytać jest to bardzo częste, a twórcy nie są tego świadomi, co jest dużym ryzykiem dla Twojego biznesu online.

Jeżeli potrzebowałbyś pomocy z wdrożeniem takiego zabezpieczenia lub pełnej opieki nas swoim WordPressem zapraszam do rozmowy 😀

Po więcej wiedzy odwiedź moje
media społecznościowe!

Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *