Zabezpečenie digitálnych súborov na stiahnutie vo WooCommerce
Predávate e-knihu, pdf, hudbu alebo softvér cez WooCommerce? Potom chcete, aby si súbor mohli stiahnuť iba platiaci zákazníci. WooCommerce to rieši zabezpečeným odkazom na stiahnutie, ale to funguje správne iba vtedy, keď je metóda sťahovania bezpečná a priečinok so súbormi je uzamknutý. Tu sa dozviete, ako to funguje, čo si nastaviť a ako skontrolovať, že priamy odkaz nefunguje.
Ako funguje stiahnutie vo WooCommerce
Pri produkte zaškrtnite Downloadable (na stiahnutie) a nahrajte súbor. WooCommerce ho uloží do priečinka wp-content/uploads/woocommerce_uploads/. Štandardne pridá za názov súboru náhodný reťazec znakov, aby bol názov ťažko uhádnuteľný. Zákazník nikdy nedostane túto adresu, ale odkaz na váš obchod. Pri každom kliknutí WooCommerce skontroluje, či sťahovanie patrí k zaplatenej objednávke a či limit a dátum platnosti ešte neboli dosiahnuté. Až potom zákazník dostane súbor.
Ak s produktom nie je spojené fyzické odoslanie, zaškrtnite aj Virtual (virtuálny). Vtedy WooCommerce neúčtuje poštovné.
Vyberte bezpečnú metódu sťahovania
Prejdite na WooCommerce > Settings > Products > Downloadable products a pozrite sa na metódu sťahovania súborov (File download method):
| Metóda | Čo sa deje | Bezpečné? |
|---|---|---|
| Force downloads (vynútené sťahovanie, predvolené) | PHP načíta súbor a samo ho odošle zákazníkovi. | Áno. Pri veľmi veľkých súboroch môže PHP naraziť na časový limit. |
| X-Accel-Redirect/X-Sendfile | PHP overí oprávnenie, webový server odošle súbor. | Áno, ak to webový server podporuje. |
| Redirect only (iba presmerovanie) | Zákazník je presmerovaný na skutočnú adresu súboru. | Nie. Kto má adresu, môže ju zdieľať. Samotné WooCommerce túto metódu označuje ako nebezpečnú. |
Zvoľte Force downloads, pokiaľ si nie ste istí, že X-Sendfile funguje. Vypnite aj možnosť, pri ktorej sa WooCommerce ako posledné riešenie vráti k presmerovaniu.
Priečinok woocommerce_uploads musí byť uzamknutý
Aj pri bezpečnej metóde musí byť samotný priečinok uzamknutý pre bežných návštevníkov. Inak si môže niekto, kto pozná názov súboru, napríklad z uniknutého odkazu, súbor stiahnuť priamo. WooCommerce preto pri inštalácii do priečinka umiestni dva súbory:
- prázdny
index.html, aby sa nezobrazoval zoznam súborov, .htaccesss pravidlomdeny from all, ktoré odmieta všetky priame požiadavky.
Takýto súbor .htaccess funguje na webových serveroch, ktoré ho čítajú, ako Apache a LiteSpeed. Naše servery bežia na LiteSpeed, takže pri WebOké táto ochrana funguje bez ďalšieho nastavovania. Na serveri s nginx webový server súbor .htaccess nečíta, tam je potrebné pravidlo priamo v konfigurácii servera. Ak svoj obchod neskôr presuniete na takýto server, skontrolujte to znova.
Súbor .htaccess je skrytý. Ak chcete zistiť, či je tam prítomný, pozrite si Zobrazenie a úprava skrytých súborov, ako je .htaccess. Neodstraňujte ho.
Overenie, že priamy odkaz nefunguje
- Pri produkte na stiahnutie otvorte adresu súboru tak, ako ju zobrazuje WooCommerce. Začína sa na
/wp-content/uploads/woocommerce_uploads/. - Otvorte túto adresu v súkromnom okne, v ktorom nie ste prihlásení.
- Správne je, keď sa zobrazí chybová správa 403 Forbidden (prípadne 401 alebo 404). Ak sa súbor jednoducho zobrazí alebo dá stiahnuť, priečinok je nechránený.
Vždy testujte skutočný súbor, nielen priečinok. Prázdna stránka pri priečinku môže byť prázdny index.html, zatiaľ čo samotné súbory môžu byť stále prístupné. Dá sa to overiť aj na príkazovom riadku: curl -I https://example.com/wp-content/uploads/woocommerce_uploads/subor.pdf musí vrátiť 403. Čo znamená 403, si môžete prečítať v Zakázané (403): Nemáte povolenie na prístup k / na tomto serveri..
Limity a prístup
- Download limit (limit sťahovania) a Download expiry (dátum platnosti) nastavíte pre každý produkt alebo variáciu zvlášť. Prázdne pole znamená neobmedzené. Prísny limit obmedzuje zdieľanie, ale spôsobuje sťažnosti, keď si niekto kúpi nový počítač.
- Grant access after payment (prístup po zaplatení) je štandardne zapnutý: zákazník si môže stiahnuť súbor hneď po úspešnej platbe.
- Approved download directories (schválené priečinky na stiahnutie): ako sťahovanie môžu slúžiť iba súbory z týchto priečinkov alebo z týchto adries. Udržujte zoznam krátky.
Ak predávate digitálny obsah spotrebiteľom, upravte aj spôsob, akým funguje právo na odstúpenie od zmluvy pri stiahnutiach. WooCommerce to automaticky nerieši. Tento článok nie je právnym poradenstvom, overte si to u príslušného úradu na ochranu spotrebiteľa alebo sa poraďte s právnikom.
Ďalšie čítanie
- Digital and downloadable product handling (WooCommerce, v angličtine)
- Bezplatný kurz WordPress, lekcia 7.4 Spevnenie webu: oprávnenia, hlavičky a bezpečnostné pluginy
