3. modulis · 3.3
Digitālie un virtuālie produkti
3. modulis: Produkti · Lasīšanas laiks: 11 min.
Mērķis: Pēc šīs nodarbības Jūs varēsiet droši pārdot digitālos un virtuālos produktus: izvēlēties drošu lejupielādes metodi, aizsargāt lejupielāžu mapi, iestatīt limitus un pareizi nokārtot atteikuma tiesības digitālajam saturam.
Pamatjēdzieni: virtuāls produkts, lejupielādējams produkts, lejupielādes saite, lejupielādes limits, derīguma termiņš, lejupielādes metode (Uzspiest lejupielādi, X-Accel-Redirect/X-Sendfile, Tikai pāradresēt), woocommerce_uploads, .htaccess, nginx, apstiprinātās lejupielādes mapes (Approved download directories), piekļuve pēc apmaksas, digitālais saturs, nepārprotama piekrišana, atteikšanās no atteikuma tiesībām
Virtuāls un lejupielādējams: divas dažādas izvēles rūtiņas
Vienkāršam produktam vai variācijai redzamas divas izvēles rūtiņas. Tās izskatās līdzīgas, bet dara ko citu:
- Virtuāls (Virtual) nozīmē: nekas netiek nosūtīts. WooCommerce neaprēķina piegādes izmaksas un, noformējot pasūtījumu, neprasa piegādes adresi (ja viss grozā ir virtuāls). Piemēram, tējas degustācija uz vietas, dāvanu karte, ko nosūtāt pa e-pastu, vai tiešsaistes darbnīca.
- Lejupielādejams (Downloadable) nozīmē: pēc apmaksas klients saņem vienu vai vairākas datnes. WooCommerce katram klientam izveido lejupielādes saiti un parāda to apstiprinājuma e-pastā un sadaļā Mans konts > Lejupielādes.
Digitāla recepšu grāmata PDF formātā parasti ir abi: pa pastu nekas netiek sūtīts, un ir datne. Drukāta recepšu grāmata ar bezmaksas PDF klāt ir lejupielādējama, bet nav virtuāla: grāmata tiek sūtīta pa pastu.
Theehuis Example pārdod "Receptenboek Thee en Taart" (recepšu grāmata "Tēja un kūka") PDF formātā par € 9,95. Izvēles rūtiņas: virtuāls un lejupielādējams.
Kā darbojas lejupielāde un kāpēc metode ir svarīga
Ja lejupielādējamam produktam augšupielādējat datni, WooCommerce to ievieto mapē wp-content/uploads/woocommerce_uploads/. Pēc noklusējuma datnes nosaukumam tiek pievienota nejauša rakstzīmju virkne (iestatījums "Append a unique string to filename for security", pēc noklusējuma ieslēgts). Klients nekad nesaņem šo adresi, bet gan saiti uz Jūsu veikalu ar pasūtījuma atslēgu un lejupielādes kodu. Ik reizi, kad tiek noklikšķināts, WooCommerce pārbauda: vai šī lejupielāde pieder apmaksātam pasūtījumam, vai limits nav izsmelts, vai termiņš nav beidzies? Tikai tad klients saņem datni.
Kā datne pēc tam nonāk pie klienta, Jūs izvēlaties sadaļā WooCommerce > Iestatījumi > Produkti > Lejupielādējams produkts, pie lejupielādes metodes (File download method):
| Metode | Kā tā darbojas | Drošība |
|---|---|---|
| Uzspiest lejupielādi (Force downloads, noklusējums) | PHP nolasa datni un pats to nosūta | Īstā adrese paliek slēpta. Lielas datnes dažos serveros var aizķerties vai sasniegt PHP laika ierobežojumu |
| X-Accel-Redirect/X-Sendfile | PHP pārbauda, tīmekļa serveris nosūta datni | Tikpat droši un labāk lielām datnēm; tīmekļa serverim tas ir jāatbalsta (Apache gadījumā nepieciešams modulis mod_xsendfile, nginx atbalsta X-Accel-Redirect). Jautājiet savam hostinga pakalpojumu sniedzējam |
| Tikai pāradresēt (Redirect only) | WooCommerce pāradresē klientu uz īsto datnes adresi | Nedroši: kam ir adrese, tas var to kopīgot, un datni var iegūt, to nenopērkot. WooCommerce pats to sauc par "Insecure" |
Tāpēc izvēlieties Uzspiest lejupielādi vai X-Sendfile. Pāradresēšana ir tikai ārkārtas risinājums, un iestatījums "Allow using redirect mode (insecure) as a last resort" ļauj WooCommerce pāriet uz pāradresēšanu, ja otra metode neizdodas; atstājiet to izslēgtu, ja vien nezināt, kāpēc tas vajadzīgs.
Mapes aizsargāšana
Izmantojot Uzspiest lejupielādi vai X-Sendfile, mapei woocommerce_uploads jābūt slēgtai parastiem apmeklētājiem. Citādi ikviens, kurš uzmin datnes nosaukumu vai iegūst to no nopludinātas saites, var datni lejupielādēt tieši. Tāpēc WooCommerce instalēšanas laikā šajā mapē ievieto divas datnes:
- tukšu
index.html, lai mape nerādītu datņu sarakstu; .htaccessardeny from all(metodei Tikai pāradresēt:Options -Indexes).
Šī .htaccess datne darbojas Apache un LiteSpeed serveros (kā WebOké un daudzos citos koplietošanas hostingos). nginx tīmekļa serveris .htaccess nenolasa. Tur servera konfigurācijā jābūt noteikumam, kas bloķē mapi. Pārvaldītā nginx hostingā to dažkārt nokārto hostinga pakalpojumu sniedzējs; savā VPS Jums tas jāizdara pašiem. WooCommerce to pārbauda pats un parāda paziņojumu administrācijas panelī (un sadaļā Vietnes veselība), ja mape nešķiet aizsargāta.
Dažas lietas, kurām pievērst uzmanību:
- Tukšs 200 nav pierādījums. Ja pieprasāt mapi un redzat tukšu lapu, tā var būt tukšā
index.html, kamēr pašas datnes ir pieejamas. Tāpēc pārbaudiet arī vienu datni (uzdevums to dara). - Datnes no ārpuses. Produktam var norādīt arī saiti uz datni citur. Šim nolūkam WooCommerce ir saraksts apstiprinātās lejupielādes mapes (Approved download directories): kā lejupielādi drīkst izmantot tikai datnes no šīm mapēm vai adresēm. Tā neviens ar administratora tiesībām produktam nejauši vai apzināti nevar piedāvāt jebkuru servera datni kā lejupielādi. Saglabājiet šo sarakstu īsu.
- Rezerves kopijas un testa vide (staging). Mape tiek iekļauta Jūsu rezerves kopijā. Tātad testa vidē atrodas arī Jūsu maksas datnes: aizsargājiet testa vidi (nodarbība 7.3).
Limiti un piekļuve
Katram lejupielādējamam produktam vai variācijai Jūs iestatāt:
- Lejupielādes limits (Download limit): cik reizes klients drīkst lejupielādēt. Tukšs lauks nozīmē neierobežoti. Piemēram, limits 5 ierobežo kopīgošanu, bet rada sūdzības, ja kāds iegādājas jaunu klēpjdatoru. Izvēlieties saprātīgu vērtību un palīdziet klientiem, kuri to lūdz.
- Derīguma termiņš (Download expiry): pēc cik dienām saite pārstāj darboties.
Vispārīgie iestatījumi sadaļā Lejupielādējams produkts:
- Lejupielādei nepieciešama pieteikšanās (Downloads require login), pēc noklusējuma izslēgts. Ieslēgts nozīmē, ka viesi neko nevar lejupielādēt; ieslēdziet to tikai tad, ja konti ir arī obligāti.
- Piekļuve pēc apmaksas (Grant access to downloadable products after payment), pēc noklusējuma ieslēgts: klients var lejupielādēt, tiklīdz pasūtījumam ir statuss Apstrādē, tātad uzreiz pēc veiksmīgas apmaksas. Ja tas ir izslēgts, tad tikai pēc statusa Pabeigts.
Atteikuma tiesības digitālajam saturam
Par parastu tējkannu klientam ir 14 dienu pārdomu laiks (nodarbība 5.2). Ar lejupielādi tas ir sarežģīti: kam ir PDF, tam tas paliek arī pēc atkāpšanās no līguma. Tāpēc ir izņēmums, bet tikai ar nosacījumiem. ES tas ir noteikts direktīvas 2011/83/ES 16. pantā; Nīderlandē Civilkodeksa (Burgerlijk Wetboek) 6:230p panta g punktā. Atteikuma tiesību nav attiecībā uz digitālo saturu, kas netiek piegādāts materiālā datu nesējā, ja:
- piegāde ir sākta ar patērētāja nepārprotamu iepriekšēju piekrišanu;
- patērētājs ir apliecinājis, ka līdz ar to atsakās no savām atteikuma tiesībām; un
- Jūs esat to apstiprinājuši (līguma apstiprinājumā, pastāvīgā informācijas nesējā, piemēram, pasūtījuma e-pastā).
Ja trūkst kaut viena no šiem trim, klientam saglabājas atteikuma tiesības, pat ja viņš jau ir lejupielādējis. Beļģijā un Vācijā tas pats ES noteikums ir ietverts to valsts likumos (skatiet nodarbību 5.2). Latvijā atteikuma tiesības regulē Patērētāju tiesību aizsardzības likums un Ministru kabineta noteikumi par distances līgumu.
WooCommerce to nenokārto automātiski. Jums nepieciešams:
- obligāta izvēles rūtiņa pasūtījuma noformēšanā, tikai tad, ja grozā ir digitālais saturs, ar tekstu, piemēram, "Es piekrītu, ka piegāde sākas nekavējoties, un apzinos, ka līdz ar to zaudēju atteikuma tiesības";
- tas pats teksts kā apstiprinājums pasūtījuma e-pastā par šiem produktiem;
- pareizs teikums Jūsu informācijā par atteikuma tiesībām, ka tas attiecas uz lejupielādēm.
Ir paplašinājumi, kas pievieno šādu izvēles rūtiņu; arī pasūtījuma noformēšanas blokam ir iespējas papildu laukiem. Izvērtējiet tos tāpat kā jebkuru spraudni. Izvēles rūtiņa, kas ir atzīmēta iepriekš, netiek uzskatīta par nepārprotamu piekrišanu (nodarbība 5.4).
Ņemiet vērā atšķirību no virtuāliem pakalpojumiem, piemēram, darbnīcas noteiktā datumā. Tur piemēro noteikumus par pakalpojumiem ar citiem izņēmumiem. Izlasiet nodarbību 5.2.
Kopsavilkums
- Virtuāls = nekas netiek sūtīts; lejupielādējams = datnes pēc apmaksas. PDF parasti ir abi.
- Izvēlieties Uzspiest lejupielādi vai X-Accel-Redirect/X-Sendfile; Tikai pāradresēt ir nedroši.
- Mapei
woocommerce_uploadsjābūt slēgtai:.htaccessApache un LiteSpeed serveros, servera noteikums nginx. Pārbaudiet īstu datni, ne tikai mapi. - Saglabājiet apstiprināto lejupielādes mapju sarakstu īsu un iestatiet saprātīgus limitus.
- Atteikuma tiesību nav lejupielādēm tikai ar nepārprotamu piekrišanu, atteikšanos no tiesībām un apstiprinājumu; WooCommerce to nedara automātiski. Latvijā to regulē Patērētāju tiesību aizsardzības likums un Ministru kabineta noteikumi par distances līgumu.
Tests (quiz)
Uzdevums
Uzdevums A3.3: Vai Jūsu lejupielādes ir aizsargātas? Šis uzdevums pieprasa ceļus, uz kuriem nav saišu, tāpēc tas darbojas tikai Jūsu pašu veikalam. Vispirms pierādiet, ka domēns pieder Jums: izveidojiet TXT ierakstu _weboke-cursus.<Jūsu domēns> ar saņemto kodu vai ievietojiet datni /.well-known/weboke-cursus-<code>.txt ar šo kodu tajā. Pēc tam ievadiet sava veikala adresi un, ja vēlaties, vienas lejupielādes datnes ceļu tā, kā WooCommerce to rāda pie produkta (tas sākas ar /wp-content/uploads/woocommerce_uploads/). Programma pieprasa mapi (bez pāradresācijas, tikai sākumu) un, ja ievadījāt ceļu, vienu reizi šīs datnes HTTP galvenes. Zaļš, ja mape atgriež 401, 403 vai 404 vai lapu bez datņu saraksta, un datne atgriež 401, 403 vai 404. Oranžs, ja datni neievadījāt: tad ir pārbaudīta tikai mape, un tukša lapa nepasaka pietiekami. Sarkans, ja mape rāda datņu sarakstu vai ja datni var vienkārši lejupielādēt (200): tad ikviens, kam ir adrese, to var iegūt bez pirkuma. Programma saglabā tikai statusa kodus, nekad pašu datni.
Jautājums sev (netiek vērtēts): kāda lejupielādes metode ir iestatīta Jūsu veikalā, un kā Jūs esat nokārtojuši atteikuma tiesības saviem digitālajiem produktiem?
Papildu lasāmviela
- Digital and downloadable product handling (woocommerce.com, angļu valodā): https://woocommerce.com/document/digital-downloadable-product-handling/
- Bezmaksas WordPress kurss 7.4: Tīmekļa vietnes nostiprināšana: tiesības, galvenes un drošības spraudņi
- Aizliegts (403): Jums nav atļaujas piekļūt /, izmantojot šo serveri.
- Nīderlandes Civilkodekss (Burgerlijk Wetboek), 6. grāmata, 6:230p pants (wetten.overheid.nl, nīderlandiešu valodā): https://wetten.overheid.nl/BWBR0005289/
Zināšanu bāzē aprakstīta situācija WebOké (LiteSpeed, .htaccess darbojas); pie citiem pakalpojumu sniedzējiem tas darbojas līdzīgi, izņemot nginx.
