Digitális letöltések korlátozása WooCommerce rendszerben
E-bookot, pdf-t, zenét vagy szoftvert értékesít a WooCommerce segítségével? Ebben az esetben fontos, hogy csak a fizető vásárlók férjenek hozzá a fájl letöltéséhez. A WooCommerce ezt egy védett letöltési link segítségével oldja meg, de ez csak akkor működik megfelelően, ha a letöltési módszer biztonságos, és a fájlokat tartalmazó mappa le van zárva. Ebből a cikkből kiderül, hogyan működik ez, mit kell beállítani, és hogyan ellenőrizhető, hogy egy közvetlen link valóban nem működik.
Hogyan működik a letöltés a WooCommerce-ben
Jelölje be egy terméknél a Letölthető (Downloadable) lehetőséget, majd töltse fel a fájlt. A WooCommerce a fájlt a wp-content/uploads/woocommerce_uploads/ mappába helyezi. Alapértelmezés szerint egy véletlenszerű karaktersorozatot fűz a fájlnévhez, hogy az nehezen legyen kitalálható. A vásárló soha nem kapja meg ezt a közvetlen címet, hanem egy linket kap a webáruházhoz. Minden kattintásnál a WooCommerce ellenőrzi, hogy a letöltés egy kifizetett rendeléshez tartozik-e, és hogy a letöltési korlát és a lejárati dátum még nem érte-e el a határt. Csak ezután kapja meg a vásárló a fájlt.
Ha a termékhez nem jár postai küldemény, jelölje be a Virtuális (Virtual) lehetőséget is. Ebben az esetben a WooCommerce nem számít fel szállítási költséget.
Válasszon biztonságos letöltési módszert
Navigáljon a WooCommerce > Beállítások > Termékek > Letölthető termékek menüpontra, és nézze meg a letöltési módszert (File download method):
| Módszer | Mi történik | Biztonságos? |
|---|---|---|
| Letöltések kényszerítése (Force downloads, alapértelmezett) | A PHP beolvassa a fájlt, és maga küldi el a vásárlónak. | Igen. Nagyon nagy fájloknál a PHP elérheti az időkorlátját. |
| X-Accel-Redirect/X-Sendfile | A PHP ellenőriz, a webszerver küldi el a fájlt. | Igen, ha a webszerver támogatja. |
| Csak átirányítás (Redirect only) | A vásárló a fájl tényleges címére kerül. | Nem. Aki ismeri a címet, az megoszthatja. Maga a WooCommerce is nem biztonságosként jelöli ezt a módszert. |
Válassza a Letöltések kényszerítése lehetőséget, kivéve ha biztos abban, hogy az X-Sendfile működik. Kapcsolja ki azt a beállítást is, amellyel a WooCommerce végső megoldásként átirányításra vált.
A woocommerce_uploads mappának le kell zárva lennie
Biztonságos módszer esetén magának a mappának is zárva kell lennie a hagyományos látogatók előtt. Ellenkező esetben az, aki ismeri a fájlnevet, például egy kiszivárgott linkből, közvetlenül letöltheti a fájlt. A WooCommerce ezért telepítéskor két fájlt helyez el a mappában:
- egy üres
index.htmlfájlt, hogy ne jelenjen meg fájllista; - egy
.htaccessfájlt adeny from allszabállyal, amely minden közvetlen kérést elutasít.
Az ilyen .htaccess fájl olyan webszervereken működik, amelyek olvassák azt, például Apache és LiteSpeed esetén. A szervereink LiteSpeed alapon futnak, így a WebOké esetében ez a védelem további beállítások nélkül is működik. Egy nginx alapú szerveren a webszerver nem olvassa a .htaccess fájlt; ott egy szabályt kell beállítani a szerver konfigurációjában. Ha a webáruházát később egy ilyen szerverre költözteti, ellenőrizze ezt újra.
A .htaccess fájl rejtett. Ha szeretné megnézni, hogy létezik-e, tekintse meg a Rejtett fájlok, például a .htaccess megjelenítése és szerkesztése című cikket. Ne törölje a fájlt.
Annak ellenőrzése, hogy egy közvetlen link nem működik
- Nyissa meg egy letölthető terméknél a fájl címét úgy, ahogyan azt a WooCommerce megjeleníti. Ez a
/wp-content/uploads/woocommerce_uploads/kezdettel indul. - Nyissa meg ezt a címet egy privát ablakban, amelyben nincs bejelentkezve.
- Jó jel, ha 403 Forbidden hibaüzenetet kap (vagy 401 vagy 404). Ha egyszerűen megjelenik vagy letölthető a fájl, akkor a mappa nyitva áll.
Mindig egy valódi fájlt teszteljen, ne csak a mappát. Egy üres oldal a mappánál lehet az üres index.html fájl eredménye, miközben maguk a fájlok ténylegesen hozzáférhetők. Parancssorból is ellenőrizhető: a curl -I https://example.com/wp-content/uploads/woocommerce_uploads/bestand.pdf parancsnak 403-as választ kell adnia. Arról, hogy mit jelent a 403-as hiba, bővebben itt olvashat: Forbidden (403): Önnek nincs jogosultsága a / eléréséhez ezen a szerveren.
Korlátok és hozzáférés
- A letöltési korlátot és a lejárati dátumot termékenként vagy variánsonként állíthatja be. Üresen hagyva korlátlan. Egy szigorú korlát csökkenti a megosztás lehetőségét, de panaszokhoz vezethet, ha valaki új számítógépet vásárol.
- A hozzáférés fizetés után alapértelmezés szerint be van kapcsolva: a vásárló a sikeres fizetést követően azonnal letöltheti a fájlt.
- Jóváhagyott letöltési mappák (Approved download directories): csak ezekből a mappákból vagy ezekről a címekről származó fájlok szolgálhatnak letöltésként. Tartsa rövidnek ezt a listát.
Ha digitális tartalmat értékesít fogyasztók számára, rendezze azt is, hogyan érvényesül az elállási jog letöltések esetében. A WooCommerce ezt nem kezeli automatikusan. Ez a cikk nem minősül jogi tanácsadásnak; tájékozódjon az ACM-nél, vagy kérjen tanácsot jogásztól.
További olvasnivaló
- Digital and downloadable product handling (WooCommerce, angol nyelven)
- Ingyenes WordPress tanfolyam, 7.4. lecke: Az oldal megerősítése: jogosultságok, fejlécek és biztonsági bővítmények
