Approved Download Directories WooCommerce: skąd sklep pozwala pobierać pliki cyfrowe?

Approved Download Directories WooCommerce

Sprzedajesz e-booki, pliki graficzne, instrukcje albo inne materiały do pobrania? W WooCommerce nie wystarczy wrzucić pliku gdziekolwiek i liczyć, że temat sam się ogarnie. Znaczenie ma to, skąd plik jest pobierany, kto może go otworzyć i czy po zakupie klient rzeczywiście dostanie dostęp.

Tu pojawia się funkcja Approved Download Directories WooCommerce. Brzmi trochę jak nazwa narzędzia z kokpitu statku kosmicznego, ale chodzi o całkiem praktyczną rzecz: wskazanie zaufanych lokalizacji, z których sklep może pobierać pliki produktów cyfrowych. Poniżej przechodzimy przez bibliotekę mediów, katalog woocommerce_uploads, chmurę, metody pobierania i skutki wyłączenia reguły.

Najpierw: gdzie WooCommerce trzyma pliki cyfrowe?

Po instalacji WooCommerce domyślnym miejscem dla plików do pobrania jest katalog woocommerce_uploads, znajdujący się w katalogu uploadów WordPressa. WooCommerce dodaje go do zatwierdzonych lokalizacji i domyślnie oznacza jako włączony. To standardowy punkt wyjścia dla produktów cyfrowych i zwykle nie ma potrzeby od razu budować wokół niego skomplikowanej układanki.

Pliki mogą jednak znajdować się także w innej lokalnej ścieżce albo pod zewnętrznym adresem URL. Dotyczy to również wybranych lokalizacji w chmurze. Sama chmura nie jest tu magicznym zaklęciem, które automatycznie rozwiązuje temat ochrony. Trzeba sprawdzić, czy konkretny adres pasuje do zatwierdzonej reguły i czy wybrana metoda pobierania prawidłowo obsługuje taki plik.

Warto rozdzielić dwie sprawy. Pierwsza to lokalizacja pliku, czyli miejsce, z którego WooCommerce ma go pobrać. Druga to sposób udostępnienia, czyli metoda, przez którą klient otrzymuje plik po zakupie. Nawet dobrze wybrany katalog nie załatwia wszystkiego, jeśli plik jest później wystawiony pod bezpośrednim, publicznym adresem.

Approved Download Directories — co to właściwie robi?

Approved Download Directories to mechanizm kontrolowania katalogów i lokalizacji, z których mogą pochodzić pliki produktów cyfrowych. Administrator tworzy listę zaufanych miejsc: mogą to być ścieżki plików, lokalne katalogi albo adresy URL. WooCommerce może następnie wymagać, aby pliki produktów cyfrowych pochodziły właśnie z tych lokalizacji.

Reguła dla danego katalogu obejmuje również jego podkatalogi. Trzeba jednak uważać na adres. http i https są traktowane jako różne warianty, chyba że reguła została zapisana w sposób obejmujący oba. Drobiazg? Owszem. Tyle że właśnie takie drobiazgi potrafią sprawić, że poprawny na pierwszy rzut oka plik nie przejdzie walidacji.

Funkcja została wprowadzona w WooCommerce 6.5 i jest szczególnie przydatna w sklepach, w których produkty edytuje więcej osób niż tylko administrator. Jeśli do panelu zaglądają shop managerowie, redaktorzy albo inni użytkownicy, zatwierdzone katalogi ograniczają ryzyko przypadkowego wskazania niewłaściwego pliku lub adresu.

To nie jest jednak system, który zmienia zasady działania całej biblioteki mediów WordPressa. Nie blokuje obrazów ani nie robi z każdego pliku fortecy nie do zdobycia. Jego zadaniem jest kontrola lokalizacji plików używanych przy cyfrowych produktach WooCommerce. Najlepiej traktować go jako jedną z części układanki, obok właściwego przechowywania i konfiguracji serwera.

Biblioteka mediów WordPressa: wygodna, ale nie do wszystkiego

Biblioteka mediów WordPressa jest wygodna, bo plik można szybko dodać i skopiować jego adres. Przy sprzedaży plików cyfrowych ta wygoda może jednak obrócić się przeciwko właścicielowi sklepu. Plik dodany przez bibliotekę mediów może być dostępny dla każdej osoby, która pozna bezpośredni URL.

Co to oznacza w praktyce? Ktoś może otworzyć taki adres bez przechodzenia przez mechanizm uprawnień WooCommerce. Nie musi być zalogowany ani mieć potwierdzonego zakupu. Sam fakt, że klient kupił produkt, nie zmienia publicznego charakteru adresu, jeśli plik został przechowany i udostępniony w niewłaściwy sposób.

Dlatego WooCommerce zaleca dodawanie pliku bezpośrednio z poziomu edycji produktu, zamiast wybierania go z biblioteki mediów. Taki sposób kieruje plik do katalogu woocommerce_uploads, czyli miejsca przeznaczonego dla plików do pobrania. To prostszy i bardziej uporządkowany schemat pracy:

  • otwierasz edycję produktu WooCommerce,
  • dodajesz plik w sekcji produktu cyfrowego,
  • sprawdzasz metodę pobierania i dostęp po zakupie,
  • nie traktujesz biblioteki mediów jako magazynu płatnych plików do pobrania.

Ważne zastrzeżenie: przeniesienie pliku do właściwej lokalizacji nie oznacza absolutnej ochrony w każdej konfiguracji serwera. Przy NGINX reguły .htaccess nie są respektowane, więc może być potrzebna osobna konfiguracja ochrony katalogu. Innymi słowy, samo kliknięcie odpowiedniej opcji w WooCommerce nie zawsze zamyka temat.

Jak zatwierdzić katalog albo pliki z chmury?

Konfigurację zatwierdzonych lokalizacji znajdziesz w panelu pod ścieżką WooCommerce > Ustawienia > Produkty > Approved Download Directories. Tam można dodać lokalny katalog, ścieżkę pliku albo zewnętrzny adres URL, a następnie włączyć egzekwowanie reguł.

Przy lokalnym katalogu sprawdź przede wszystkim, czy wskazana ścieżka jest rzeczywiście tą, z której korzystają produkty. Reguła obejmuje podkatalogi, ale nie oznacza to, że każda podobnie wyglądająca ścieżka zostanie dopasowana. Przy zewnętrznym adresie znaczenie ma dokładny URL oraz protokół. Adres zaczynający się od http nie jest automatycznie tym samym co jego wariant https.

Chmura? Może działać, ale nie zakładaj, że każda usługa zadziała automatycznie. Zewnętrzny URL musi pasować do zatwierdzonych reguł, a wybrana metoda pobierania musi obsługiwać konkretny typ adresu. Zatwierdzaj wyłącznie lokalizacje kontrolowane przez firmę albo dostawcę, któremu firma ufa. WooCommerce nie kontroluje miejsc, do których może prowadzić przekierowanie z zatwierdzonego adresu.

Po zmianie nie kończ pracy na zapisaniu ustawień. Zrób test na konkretnym pliku i sprawdź:

  1. czy klient po zakupie otrzymuje możliwość pobrania,
  2. czy plik faktycznie się pobiera,
  3. czy bezpośredni adres pliku nie otwiera go poza właściwym mechanizmem,
  4. czy reguła pasuje do użytego adresu i protokołu.

Taki test warto wykonać po zmianie lokalizacji, hostingu, konfiguracji serwera albo sposobu pobierania. Sklep może wyglądać w panelu całkiem zdrowo, a klient i tak dostać cyfrową wersję komunikatu „spróbuj ponownie później”.

Metoda pobierania ma znaczenie

Approved Download Directories kontroluje, skąd plik może pochodzić, ale sposób udostępniania decyduje o tym, jak łatwo można dotrzeć do samego pliku. WooCommerce udostępnia między innymi metody Force downloads oraz X-Accel-Redirect/X-Sendfile. Mogą one ograniczać bezpośrednie udostępnianie pliku, ale ich skuteczność zależy od konfiguracji serwera.

Najwięcej ostrożności wymaga opcja Redirect only (insecure). Przekierowuje ona klienta bezpośrednio do adresu pliku. Jeśli ktoś pozna taki adres, może uzyskać dostęp do pliku nawet bez zalogowania i bez dokonania zakupu. Przy płatnych materiałach nie jest to ustawienie, które warto wybierać bez świadomej zgody na takie ryzyko.

Nie oznacza to, że Force downloads albo X-Accel-Redirect/X-Sendfile gwarantują ochronę niezależnie od serwera. Ich działanie trzeba dopasować do hostingu, konfiguracji i sposobu przechowywania plików. Szczególnej uwagi wymaga NGINX, ponieważ nie respektuje reguł zapisanych w .htaccess. W takim przypadku może być potrzebna osobna reguła ochrony katalogu woocommerce_uploads.

Najrozsądniejszy schemat jest prosty: najpierw ustalasz, gdzie leżą pliki, potem zatwierdzasz tę lokalizację, następnie wybierasz metodę pobierania pasującą do serwera i na końcu robisz test. Bez testu zostaje wróżenie z ustawień. A sklep internetowy to raczej kiepskie miejsce na takie hobby.

Co się stanie po wyłączeniu reguły?

Wyłączenie albo usunięcie zatwierdzonego katalogu może mieć skutek większy, niż sugeruje niewinna nazwa przełącznika. Powiązane pliki mogą zostać oznaczone jako wyłączone, a klienci, którzy wcześniej kupili produkt, mogą stracić możliwość pobrania pliku do czasu naprawienia konfiguracji przez administratora.

Dlatego przed wyłączeniem reguły sprawdź, czy korzystają z niej już sprzedane produkty. Nie chodzi wyłącznie o nowe zamówienia. Wcześniejszy klient również może wrócić po zakupiony plik i oczekiwać, że pobieranie nadal będzie działać.

WooCommerce udostępnia narzędzie synchronizacji zatwierdzonych katalogów. Skanuje ono katalog produktów i dodaje wykryte lokalizacje, które nie były wcześniej objęte regułami. Nowe reguły są początkowo wyłączone, więc synchronizacja nie powinna być traktowana jako automatyczne „napraw wszystko”. Po jej uruchomieniu trzeba sprawdzić wykryte lokalizacje i zdecydować, które rzeczywiście są zaufane.

Przy większej zmianie przejdź przez krótką checklistę:

  • sprawdź aktywne zatwierdzone katalogi,
  • zweryfikuj produkty powiązane z daną lokalizacją,
  • sprawdź pobieranie dla klienta po zakupie,
  • sprawdź możliwość bezpośredniego otwarcia adresu pliku,
  • przy NGINX potwierdź dodatkową konfigurację ochrony serwera.

Najważniejszy wniosek jest prosty: bezpieczne pliki cyfrowe WooCommerce wymagają połączenia właściwej lokalizacji, zatwierdzonych katalogów, odpowiedniej metody pobierania i poprawnej konfiguracji serwera. Nie dodawaj płatnych plików bezrefleksyjnie z biblioteki mediów, nie używaj „Redirect only (insecure)” bez akceptacji ryzyka i testuj sklep po większych zmianach. Masz stronę, sklep albo materiały graficzne, które proszą się o ogarnięcie? Napisz do INB Marketing i zobaczymy, co da się z tym sensownie zrobić.