Prejsť na obsah

Nastavenia súborov cookie

Vyberte, aké druhy súborov cookie povolíte. Svoj výber môžete kedykoľvek zmeniť cez Nastavenia súborov cookie v dolnej časti každej stránky. Vyhlásenie o ochrane osobných údajov

Nevyhnutné

Vždy zapnuté

Potrebné na prihlásenie, uchovanie košíka a zapamätanie vašich volieb. Sú vždy zapnuté.

Ktoré súbory cookie?
  • weboke_sessie, weboke_klant, weboke_remember: vaša relácia a trvalé prihlásenie
  • weboke_basket: váš košík
  • wkBtwIncl: zobrazovanie cien s DPH alebo bez DPH
  • wok_cookies: váš výber súborov cookie, 12 mesiacov

Merajú, ktorá reklama vedie k návšteve alebo objednávke, aby sme neplatili za reklamy, ktoré nič neprinášajú.

Ktoré súbory cookie?
  • Google Ads cez Google Tag Manager (_gcl_au, _gcl_aw), najviac 90 dní
  • OpenAI Ads, reklamy v ChatGPT
  • wok_aff: ktorý partner vás k nám odporučil (partnerský program), 60 dní

4,6

Krajina a jazyk

Každá krajina má vlastný web s cenami a DPH danej krajiny.

Zobraziť

Digitálne a virtuálne produkty

Modul 3: Produkty · Čas čítania: 11 min.

Cieľ lekcie: Po tejto lekcii dokážete bezpečne predávať digitálne a virtuálne produkty: zvolíte bezpečný spôsob sťahovania, ochránite priečinok so súbormi, nastavíte limity a správne vyriešite právo odstúpiť od zmluvy pri digitálnom obsahu.

Kľúčové pojmy: virtuálny produkt, produkt na stiahnutie, odkaz na stiahnutie, limit sťahovania, dátum platnosti, spôsob sťahovania (Vynútiť stiahnutie, X-Accel-Redirect/X-Sendfile, Len presmerovanie), woocommerce_uploads, .htaccess, nginx, schválené priečinky na stiahnutie (Approved download directories), prístup po zaplatení, digitálny obsah, výslovný súhlas, vzdanie sa práva odstúpiť od zmluvy

Virtuálne a na stiahnutie: dve rôzne začiarkavacie políčka

Pri jednoduchom produkte alebo variante uvidíte dve začiarkavacie políčka. Vyzerajú podobne, ale robia niečo iné:

  • Virtuálne (Virtual) znamená: nič sa neposiela. WooCommerce neúčtuje poštovné a pri pokladni nežiada adresu doručenia (ak je všetko v košíku virtuálne). Napríklad ochutnávka čaju na mieste, darčeková poukážka poslaná e-mailom alebo online workshop.
  • Na stiahnutie (Downloadable) znamená: po zaplatení dostane zákazník jeden alebo viac súborov. WooCommerce vytvorí pre každého zákazníka odkaz na stiahnutie a zobrazí ho v potvrdzujúcom e-maile a v sekcii Môj účet > Na stiahnutie.

Digitálna kniha receptov vo formáte pdf je zvyčajne oboje: nič sa neposiela poštou a je tu súbor. Tlačená kniha receptov s pdf zadarmo je na stiahnutie, ale nie je virtuálna: kniha sa poštou posiela.

Theehuis Example predáva „Receptenboek Thee en Taart“ (kniha receptov Čaj a koláč) ako pdf za € 9,95. Políčka: virtuálne a na stiahnutie.

Ako funguje sťahovanie a prečo záleží na spôsobe

Keď pri produkte na stiahnutie nahráte 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 (nastavenie „Append a unique string to filename for security“, štandardne zapnuté). Zákazník nikdy nedostane túto adresu, ale odkaz do vášho e-shopu s kľúčom objednávky a kódom na stiahnutie. WooCommerce pri každom kliknutí skontroluje: patrí toto stiahnutie k zaplatenej objednávke, nie je vyčerpaný limit, nevypršala platnosť? Až potom zákazník dostane súbor.

Ako sa súbor potom k zákazníkovi dostane, zvolíte v WooCommerce > Nastavenia > Produkty > Produkty na stiahnutie, pri spôsobe sťahovania (File download method):

SpôsobAko fungujeBezpečnosť
Vynútiť stiahnutie (Force downloads, štandardne)PHP načíta súbor a samo ho odošleSkutočná adresa zostáva skrytá. Veľké súbory sa na niektorých serveroch môžu zasekávať alebo naraziť na časový limit PHP
X-Accel-Redirect/X-SendfilePHP kontroluje, súbor posiela webový serverRovnako bezpečné a lepšie pre veľké súbory; webový server to musí podporovať (pri Apache je potrebný modul mod_xsendfile, nginx pozná X-Accel-Redirect). Opýtajte sa svojho poskytovateľa hostingu
Len presmerovanie (Redirect only)WooCommerce presmeruje zákazníka na skutočnú adresu súboruNebezpečné: kto má adresu, môže ju zdieľať a súbor sa dá získať bez nákupu. WooCommerce ho samo označuje ako „Insecure“

Zvoľte teda Vynútiť stiahnutie alebo X-Sendfile. Presmerovanie je len núdzové riešenie a nastavenie „Allow using redirect mode (insecure) as a last resort“ umožní WooCommerce prepnúť na presmerovanie, keď iný spôsob zlyhá; nechajte ho vypnuté, pokiaľ neviete prečo.

Ochrana priečinka

Pri spôsobe Vynútiť stiahnutie alebo X-Sendfile musí byť priečinok woocommerce_uploads pre bežných návštevníkov uzavretý. Inak si súbor môže priamo stiahnuť ktokoľvek, kto uhádne názov súboru alebo ho vyčíta z uniknutého odkazu. WooCommerce preto pri inštalácii vloží do tohto priečinka dva súbory:

  • prázdny index.html, aby priečinok nezobrazoval zoznam súborov;
  • .htaccess s deny from all (pri spôsobe Len presmerovanie: Options -Indexes).

Súbor .htaccess funguje na Apache a LiteSpeed (ako pri WebOké a mnohých iných zdieľaných hostingoch). Na nginx webový server .htaccess nečíta. Tam musí byť v konfigurácii servera pravidlo, ktoré priečinok zablokuje. Na spravovanom nginx hostingu to niekedy zariadi poskytovateľ; na vlastnom VPS to musíte urobiť sami. WooCommerce to samo kontroluje a zobrazí upozornenie v administrácii (a v sekcii Zdravie webovej stránky), ak priečinok nevyzerá chránený.

Na niekoľko vecí si dajte pozor:

  • Prázdna odpoveď 200 nie je dôkaz. Ak si vyžiadate priečinok a uvidíte prázdnu stránku, môže to byť prázdny index.html, zatiaľ čo samotné súbory sú prístupné. Preto otestujte aj jeden súbor (úloha to robí).
  • Súbory zvonka. Pri produkte môžete zadať aj odkaz na súbor uložený inde. Na to má WooCommerce zoznam schválených priečinkov na stiahnutie (Approved download directories): ako súbor na stiahnutie sa smú použiť len súbory z týchto priečinkov alebo z týchto adries. Nikto s administrátorskými právami tak pri produkte nemôže omylom ani úmyselne ponúknuť na stiahnutie ľubovoľný súbor zo servera. Udržujte tento zoznam krátky.
  • Zálohy a staging. Priečinok je súčasťou vašej zálohy. V stagingovom prostredí sú teda aj vaše platené súbory: staging ochráňte (lekcia 7.3).

Limity a prístup

Pri každom produkte na stiahnutie alebo variante nastavíte:

  • Limit sťahovania (Download limit): koľkokrát môže zákazník sťahovať. Prázdne pole znamená bez obmedzenia. Limit napríklad 5 obmedzí zdieľanie, ale vyvolá sťažnosti, keď si niekto kúpi nový notebook. Zvoľte niečo rozumné a pomôžte zákazníkom, ktorí o to požiadajú.
  • Dátum platnosti (Download expiry): po koľkých dňoch odkaz prestane fungovať.

Všeobecné nastavenia v sekcii Produkty na stiahnutie:

  • Sťahovanie vyžaduje prihlásenie (Downloads require login), štandardne vypnuté. Zapnuté znamená, že hostia nemôžu nič stiahnuť; zapnite ho len vtedy, ak vyžadujete aj zákaznícke účty.
  • Prístup po zaplatení (Grant access to downloadable products after payment), štandardne zapnuté: zákazník môže sťahovať, len čo má objednávka stav Spracováva sa, teda hneď po úspešnej platbe. Ak je vypnuté, až po stave Vybavená.

Odstúpenie od zmluvy pri digitálnom obsahu

Pri bežnej čajovej kanvici má zákazník 14 dní na rozmyslenie (lekcia 5.2). Pri súbore na stiahnutie je to zložité: kto má pdf, ten ho má aj po odstúpení od zmluvy. Preto existuje výnimka, ale len za určitých podmienok. V EÚ je v článku 16 smernice 2011/83/EÚ; v Holandsku v článku 6:230p písm. g holandského Občianskeho zákonníka (BW). Právo odstúpiť od zmluvy neplatí pri digitálnom obsahu, ktorý nie je dodaný na hmotnom nosiči, ak:

  1. sa dodávanie začalo s výslovným predchádzajúcim súhlasom spotrebiteľa;
  2. spotrebiteľ vyhlásil, že sa tým vzdáva svojho práva odstúpiť od zmluvy; a
  3. vy ste mu to potvrdili (v potvrdení zmluvy, na trvanlivom nosiči, napríklad v e-maile k objednávke).

Ak niektorá z týchto troch podmienok chýba, zákazníkovi zostáva právo odstúpiť od zmluvy, aj keď už súbor stiahol. V Belgicku a Nemecku platí rovnaké pravidlo EÚ vo vlastnom zákone (pozri lekciu 5.2). Na Slovensku ho upravuje zákon č. 108/2024 Z. z. o ochrane spotrebiteľa, ktorý platí od 1. mája 2024 a upravuje aj zmluvy uzavierané na diaľku.

WooCommerce to nerieši automaticky. Potrebujete:

  • povinné začiarkavacie políčko v pokladni, len ak je v košíku digitálny obsah, s textom ako „Súhlasím s tým, že dodanie sa začne okamžite, a beriem na vedomie, že tým strácam právo odstúpiť od zmluvy“;
  • rovnaký text ako potvrdenie v e-maile k objednávke pre tieto produkty;
  • správnu vetu vo vašich informáciách o práve odstúpiť od zmluvy, že to platí pre súbory na stiahnutie.

Existujú rozšírenia, ktoré takéto políčko pridajú; blok pokladne má tiež možnosti pre ďalšie polia. Posúďte ich ako každý iný plugin. Políčko, ktoré je vopred začiarknuté, sa nepovažuje za výslovný súhlas (lekcia 5.4).

Pozor na rozdiel oproti virtuálnym službám, ako je workshop v určitý deň. Tam platia pravidlá pre služby s inými výnimkami. Prečítajte si lekciu 5.2.

Zhrnutie

  • Virtuálne = nič sa neposiela; na stiahnutie = súbory po zaplatení. Pdf je zvyčajne oboje.
  • Zvoľte Vynútiť stiahnutie alebo X-Accel-Redirect/X-Sendfile; Len presmerovanie je nebezpečné.
  • Priečinok woocommerce_uploads musí byť uzavretý: .htaccess na Apache a LiteSpeed, pravidlo servera na nginx. Otestujte skutočný súbor, nielen priečinok.
  • Udržujte zoznam schválených priečinkov na stiahnutie krátky a nastavte rozumné limity.
  • Právo odstúpiť od zmluvy pri súboroch na stiahnutie zaniká len s výslovným súhlasom, vzdaním sa práva a potvrdením; WooCommerce to nerobí automaticky. Na Slovensku platí zákon č. 108/2024 Z. z. o ochrane spotrebiteľa.

Kvíz

1. Theehuis Example predáva tlačenú knihu receptov s pdf zadarmo. Ktoré políčka začiarknete?



2. Prečo je spôsob sťahovania „Len presmerovanie“ nebezpečný?



3. Váš e-shop beží na nginx. Stačí potom súbor .htaccess od WooCommerce v woocommerce_uploads?



4. Zákazník si kúpi pdf, hneď ho stiahne a o dva dni neskôr odstúpi od zmluvy. Pri pokladni nebolo žiadne políčko o strate práva odstúpiť od zmluvy. Čo platí?



5. Na čo slúži zoznam „schválených priečinkov na stiahnutie“?



Úloha

Úloha A3.3: Sú vaše súbory na stiahnutie chránené? Táto úloha vyžaduje cesty, na ktoré nevedú odkazy, a preto funguje len pre váš vlastný e-shop. Najprv preukážete, že doména patrí vám: nastavíte TXT záznam _weboke-cursus.<jouw domein> s kódom, ktorý dostanete, alebo umiestnite súbor /.well-known/weboke-cursus-<code>.txt s týmto kódom. Potom zadajte adresu svojho e-shopu a ak chcete, aj cestu k jednému súboru na stiahnutie tak, ako ju WooCommerce zobrazuje pri produkte (začína sa na /wp-content/uploads/woocommerce_uploads/). Program si vyžiada priečinok (bez presmerovania, len začiatok) a ak ste zadali cestu, raz aj hlavičky tohto súboru. Zelená, ak priečinok vráti 401, 403 alebo 404, alebo stránku bez zoznamu súborov, a súbor vráti 401, 403 alebo 404. Oranžová, ak ste nezadali súbor: vtedy sa skontroloval len priečinok a prázdna stránka nehovorí dosť. Červená, ak priečinok zobrazuje zoznam súborov alebo ak sa súbor dá normálne stiahnuť (200): vtedy si ho môže ktokoľvek s adresou stiahnuť bez nákupu. Program ukladá len stavové kódy, nikdy nie samotný súbor.

Otázka pre vás (nekontroluje sa): aký spôsob sťahovania je nastavený vo vašom e-shope a ako ste vyriešili odstúpenie od zmluvy pri svojich digitálnych produktoch?

Úloha A3.3: Sú vaše súbory na stiahnutie chránené?

Táto kontrola overuje cesty, ktoré necháte skontrolovať iba pri vlastnom e-shope. Najprv kliknite na „Zobraziť môj kód“ a pridajte tento kód ako TXT záznam na _weboke-cursus.<vaša doména> alebo ako súbor na svoju stránku (pozrite si vysvetlenie pri kóde).



Čo vyplníte a čo nájdeme, neukladáme. Váš prehliadač si pamätá vaše odpovede a to, či ste úlohu splnili. Po prihlásení si v sekcii Moje kurzy uchovávame iba to, že úloha bola (takmer) správne vyriešená; aj to tam môžete odstrániť.

Ďalšie čítanie

Databáza znalostí opisuje situáciu pri WebOké (LiteSpeed, .htaccess funguje); u iných poskytovateľov to funguje podobne, okrem nginx.

Chvíľu strpenia…

Nastavte svoje domény

Pri každej doméne nastavte nameservery, prepojenie s hostingom a to, kto bude jej vlastníkom.

Načítavajú sa vaše domény…