Hoppa till innehållet

Cookieinställningar

Välj vilka typer av cookies du tillåter. Du kan alltid ändra ditt val via Cookieinställningar längst ned på varje sida. Integritetspolicy

Nödvändiga

Alltid på

Behövs för att logga in, spara din varukorg och komma ihåg dina val. De är alltid på.

Vilka cookies?
  • weboke_sessie, weboke_klant, weboke_remember: din session och att du förblir inloggad
  • weboke_basket: din varukorg
  • wkBtwIncl: visa priser med eller utan moms
  • wok_cookies: ditt cookieval, 12 månader

Mäter vilken annons som leder till ett besök eller en beställning, så att vi inte betalar för annonser som inte ger något.

Vilka cookies?
  • Google Ads via Google Tag Manager (_gcl_au, _gcl_aw), upp till 90 dagar
  • OpenAI Ads, annonser i ChatGPT
  • wok_aff: via vilken partner du kom till oss (affiliateprogram), 60 dagar

4,6

Land och språk

Varje land har en egen webbplats med landets priser och moms.

Visa

Digitala och virtuella produkter

Modul 3: Produkter · Lästid: 11 minuter

Lärandemål: Efter den här lektionen kan du sälja digitala och virtuella produkter säkert: du väljer en säker nedladdningsmetod, skyddar nedladdningsmappen, ställer in gränser och hanterar ångerrätten för digitalt innehåll på rätt sätt.

Nyckelbegrepp: virtuell produkt, nedladdningsbar produkt, nedladdningslänk, nedladdningsgräns, förfallodatum, nedladdningsmetod (Tvinga nedladdning, X-Accel-Redirect/X-Sendfile, Endast omdirigering), woocommerce_uploads, .htaccess, nginx, godkända nedladdningskataloger (Approved download directories), åtkomst efter betalning, digitalt innehåll, uttryckligt samtycke, avstående från ångerrätten

Virtuell och nedladdningsbar: två olika kryssrutor

För en enkel produkt eller en variant ser du två kryssrutor. De liknar varandra men gör olika saker:

  • Virtuell (Virtual) betyder: ingenting skickas. WooCommerce tar inte ut någon fraktkostnad och frågar inte efter leveransadress i kassan (om allt i varukorgen är virtuellt). Tänk på en teprovning på plats, ett presentkort som du skickar via mejl eller en workshop online.
  • Nedladdningsbar (Downloadable) betyder: efter betalningen får kunden en eller flera filer. WooCommerce skapar en nedladdningslänk för varje kund och visar den i bekräftelsemejlet och under Mitt konto > Nedladdningar.

En digital receptbok som pdf är oftast båda: ingenting skickas med posten, och det finns en fil. En tryckt receptbok med en gratis pdf är nedladdningsbar men inte virtuell: boken skickas ju med posten.

Theehuis Example säljer "Receptbok Te och Tårta" som pdf för € 9,95 (≈ 109 kr). Kryssrutor: virtuell och nedladdningsbar.

Så fungerar en nedladdning, och därför spelar metoden roll

Laddar du upp en fil till en nedladdningsbar produkt lägger WooCommerce den i mappen wp-content/uploads/woocommerce_uploads/. Som standard lägger den till en slumpmässig teckenföljd efter filnamnet (inställningen "Append a unique string to filename for security", som är på som standard). Kunden får aldrig den adressen, utan en länk till din butik med en ordernyckel och en nedladdningskod. WooCommerce kontrollerar vid varje klick: hör nedladdningen till en betald beställning, är gränsen inte nådd, har den inte gått ut? Först då får kunden filen.

Hur filen sedan når kunden väljer du under WooCommerce > Inställningar > Produkter > Nedladdningsbara produkter, vid nedladdningsmetod (File download method):

MetodSå fungerar detSäkerhet
Tvinga nedladdning (Force downloads, standard)PHP läser filen och skickar den själv vidareDen riktiga adressen förblir dold. Stora filer kan hacka på vissa servrar eller slå i tidsgränsen för PHP
X-Accel-Redirect/X-SendfilePHP kontrollerar, webbservern skickar filenLika säkert och bättre för stora filer; webbservern måste stödja det (på Apache behövs modulen mod_xsendfile, nginx har X-Accel-Redirect). Fråga ditt webbhotell
Endast omdirigering (Redirect only)WooCommerce skickar kunden vidare till filens riktiga adressOsäkert: den som har adressen kan dela den, och filen går att hämta utan att köpa. WooCommerce kallar det själv "Insecure"

Välj alltså Tvinga nedladdning eller X-Sendfile. Omdirigering är bara en nödlösning, och inställningen "Allow using redirect mode (insecure) as a last resort" låter WooCommerce falla tillbaka på omdirigering om den andra metoden misslyckas; låt den vara av om du inte vet varför du behöver den.

Skydda mappen

Med Tvinga nedladdning eller X-Sendfile måste mappen woocommerce_uploads vara stängd för vanliga besökare. Annars kan den som gissar filnamnet eller hittar det i en läckt länk hämta filen direkt. Därför lägger WooCommerce vid installationen två filer i mappen:

  • en tom index.html, så att mappen inte visar någon fillista;
  • en .htaccess med deny from all (med metoden Endast omdirigering: Options -Indexes).

Filen .htaccess fungerar på Apache och LiteSpeed (som hos WebOké och många andra delade webbhotell). På nginx läser webbservern ingen .htaccess. Där måste det finnas en regel i serverkonfigurationen som blockerar mappen. På ett hanterat nginx-webbhotell ordnar leverantören det ibland; på en egen VPS måste du göra det själv. WooCommerce kontrollerar detta själv och visar ett meddelande i adminpanelen (och i Hälsokontroll för webbplatser) om mappen inte verkar skyddad.

Några saker att tänka på:

  • En tom 200 bevisar ingenting. Om du öppnar mappen och ser en tom sida kan det vara den tomma index.html, medan själva filerna ändå ligger öppna. Testa därför också en fil (uppgiften gör det).
  • Filer från annat håll. Du kan också ange en länk till en fil någon annanstans för en produkt. För det har WooCommerce listan godkända nedladdningskataloger (Approved download directories): bara filer från de mapparna eller adresserna får användas som nedladdning. På så sätt kan ingen med adminbehörighet för en produkt av misstag eller med flit erbjuda en godtycklig fil från servern som nedladdning. Håll listan kort.
  • Säkerhetskopior och staging. Mappen följer med i din säkerhetskopia. I en staging-miljö finns alltså också dina betalda filer: skydda stagingmiljön (lektion 7.3).

Gränser och åtkomst

För varje nedladdningsbar produkt eller variant ställer du in:

  • Nedladdningsgräns (Download limit): hur många gånger kunden får ladda ner. Tomt betyder obegränsat. En gräns på till exempel 5 begränsar delning, men ger klagomål när någon köper en ny laptop. Välj något rimligt och hjälp kunder som frågar.
  • Förfallodatum (Download expiry): efter hur många dagar länken slutar fungera.

Allmänna inställningar under Nedladdningsbara produkter:

  • Nedladdning kräver inloggning (Downloads require login), av som standard. På betyder att gäster inte kan ladda ner något; slå bara på det om du också kräver konton.
  • Åtkomst efter betalning (Grant access to downloadable products after payment), på som standard: kunden kan ladda ner så snart beställningen har statusen Behandlas, alltså direkt efter en lyckad betalning. Är det av, först efter Färdigbehandlad.

Ångerrätt vid digitalt innehåll

För en vanlig tekanna har kunden 14 dagars ångerrätt (lektion 5.2). Vid en nedladdning är det svårt: den som har pdf:en har den, även efter att ha ångrat köpet. Därför finns ett undantag, men bara under vissa villkor. I EU står det i artikel 16 i direktiv 2011/83/EU; i Nederländerna i artikel 6:230p under g i Burgerlijk Wetboek (BW). Det finns ingen ångerrätt för digitalt innehåll som inte levereras på ett fysiskt medium, om:

  1. leveransen har påbörjats med konsumentens uttryckliga förhandssamtycke;
  2. konsumenten har intygat att hen därmed avstår från sin ångerrätt; och
  3. du har gett en bekräftelse på detta (i bekräftelsen av avtalet, på ett varaktigt medium som beställningsmejlet).

Saknas något av de tre behåller kunden sin ångerrätt, även om hen redan har laddat ner. I Belgien och Tyskland gäller samma EU-regel i den egna lagen (se lektion 5.2). I Sverige finns regeln i lagen (2005:59) om distansavtal och avtal utanför affärslokaler (distansavtalslagen).

WooCommerce ordnar inte detta automatiskt. Du behöver:

  • en obligatorisk kryssruta i kassan, bara när det finns digitalt innehåll i varukorgen, med en text som "Jag godkänner att leveransen börjar direkt och jag vet att jag därmed förlorar min ångerrätt";
  • samma text som bekräftelse i beställningsmejlet för de produkterna;
  • rätt mening i din information om ångerrätt om att detta gäller nedladdningar.

Det finns tillägg som lägger till en sådan kryssruta; kassablocket har också möjligheter för extra fält. Bedöm dem som vilket tillägg som helst. En kryssruta som är förifylld räknas inte som uttryckligt samtycke (lektion 5.4).

Tänk på skillnaden mot virtuella tjänster, som en workshop på ett visst datum. Där gäller reglerna för tjänster, med andra undantag. Läs lektion 5.2.

Sammanfattning

  • Virtuell = ingenting skickas; nedladdningsbar = filer efter betalning. En pdf är oftast båda.
  • Välj Tvinga nedladdning eller X-Accel-Redirect/X-Sendfile; Endast omdirigering är osäkert.
  • Mappen woocommerce_uploads måste vara stängd: .htaccess på Apache och LiteSpeed, en serverregel på nginx. Testa en riktig fil, inte bara mappen.
  • Håll listan med godkända nedladdningskataloger kort och ställ in rimliga gränser.
  • Ingen ångerrätt vid nedladdningar endast med uttryckligt samtycke, avstående från rätten och en bekräftelse; WooCommerce gör inte det automatiskt. I Sverige gäller distansavtalslagen med 14 dagars ångerrätt.

Quiz

1. Theehuis Example säljer en tryckt receptbok med en gratis pdf. Vilka kryssrutor markerar du?



2. Varför är nedladdningsmetoden "Endast omdirigering" osäker?



3. Din butik körs på nginx. Räcker då WooCommerce-filen .htaccess i woocommerce_uploads?



4. En kund köper en pdf, laddar ner den direkt och ångrar köpet två dagar senare. I kassan fanns ingen kryssruta om att ångerrätten går förlorad. Vad gäller?



5. Vad är listan "godkända nedladdningskataloger" till för?



Uppgift

Uppgift A3.3: Är dina nedladdningar skyddade? Den här uppgiften frågar efter sökvägar som inte är länkade och fungerar därför bara för din egen butik. Först visar du att domänen är din: du lägger till en TXT-post _weboke-cursus.<jouw domein> med koden du får, eller placerar en fil /.well-known/weboke-cursus-<code>.txt med koden i. Fyll sedan i adressen till din butik och, om du vill, sökvägen till en nedladdningsfil så som WooCommerce visar den vid produkten (den börjar med /wp-content/uploads/woocommerce_uploads/). Programmet frågar efter mappen (utan att följa omdirigeringar, bara början) och, om du fyllde i en sökväg, en gång efter filens rubrikrader. Grönt om mappen ger 401, 403 eller 404, eller en sida utan fillista, och filen ger 401, 403 eller 404. Orange om du inte fyllde i någon fil: då har bara mappen kontrollerats, och en tom sida säger inte tillräckligt. Rött om mappen visar en fillista, eller om filen går att ladda ner rakt av (200): då kan vem som helst med adressen hämta den utan att köpa. Programmet sparar bara statuskoderna, aldrig filen.

Fråga för dig själv (rättas inte): vilken nedladdningsmetod är inställd i din butik, och hur har du ordnat ångerrätten för dina digitala produkter?

Uppgift A3.3: Är dina nedladdningar skyddade?

Den här kontrollen hämtar sökvägar som du bara låter kontrollera i din egen butik. Klicka först på "Visa min kod" och lägg koden som TXT-post på _weboke-cursus.<din domän> eller som fil på din webbplats (se förklaringen vid koden).



Det du fyller i och det vi hittar sparar vi inte. Din webbläsare kommer ihåg dina svar och om du klarade uppgiften. Är du inloggad sparar vi bara att du klarade uppgiften (nästan) i Mina kurser; där kan du också ta bort det.

Läs mer

Kunskapsbasen beskriver situationen hos WebOké (LiteSpeed, .htaccess fungerar); hos andra leverantörer fungerar det på liknande sätt, utom på nginx.

Ett ögonblick…

Ställ in dina domäner

Ställ in namnservrar, koppling till ditt webbhotell och vem som blir innehavare för varje domän.

Hämtar dina domäner…