Skydda digitala nedladdningar i WooCommerce
Säljer du en e-bok, en pdf, musik eller mjukvara via WooCommerce? Då vill du att endast betalande kunder ska kunna hämta filen. WooCommerce ordnar det med en säker nedladdningslänk, men det fungerar bara bra om nedladdningsmetoden är säker och mappen med filer är stängd. Här kan du läsa hur det fungerar, vad du ställer in och hur du kontrollerar att en direkt länk inte fungerar.
Hur en nedladdning i WooCommerce fungerar
Kryssa i Nedladdningsbar (Downloadable) vid en produkt och ladda upp filen. WooCommerce lägger den i mappen wp-content/uploads/woocommerce_uploads/. Som standard lägger den till en slumpmässig teckensekvens efter filnamnet, så att namnet är svårt att gissa. Kunden får aldrig den adressen, utan en länk till din butik. Vid varje klick kontrollerar WooCommerce om nedladdningen hör till en betald beställning och om gränsen och förfallodatumet ännu inte har nåtts. Först då får kunden filen.
Gäller det inget fysiskt, kryssa då även i Virtuell (Virtual). Då tar WooCommerce inte ut några fraktkostnader.
Välj en säker nedladdningsmetod
Gå till WooCommerce > Inställningar > Produkter > Nedladdningsbara produkter och titta vid nedladdningsmetoden (File download method):
| Metod | Vad som händer | Säker? |
|---|---|---|
| Tvinga nedladdningar (Force downloads, standard) | PHP läser filen och skickar den själv till kunden. | Ja. Vid väldigt stora filer kan PHP stöta på sin tidsgräns. |
| X-Accel-Redirect/X-Sendfile | PHP kontrollerar, webbservern skickar filen. | Ja, om webbservern stödjer det. |
| Endast omdirigering (Redirect only) | Kunden går till filens riktiga adress. | Nej. Den som har adressen kan dela den. WooCommerce kallar det själv osäkert. |
Välj Tvinga nedladdningar, om du inte är säker på att X-Sendfile fungerar. Låt även det alternativ vara avstängt där WooCommerce som sista utväg faller tillbaka på omdirigering.
Mappen woocommerce_uploads måste vara stängd
Med en säker metod måste mappen i sig vara stängd för vanliga besökare. Annars kan någon som känner till filnamnet, till exempel från en läckt länk, hämta filen direkt. WooCommerce lägger därför vid installationen två filer i mappen:
- en tom
index.html, så att ingen fillista visas; - en
.htaccessmed radendeny from all, som avvisar alla direkta förfrågningar.
En sådan .htaccess-fil fungerar på webbservrar som läser den, som Apache och LiteSpeed. Våra servrar körs på LiteSpeed, så hos WebOké fungerar det här skyddet utan extra inställningar. På en server med nginx läser webbservern inte .htaccess; där behövs en regel i serverkonfigurationen. Flyttar du din butik senare till en sådan server, kontrollera det på nytt.
.htaccess-filen är dold. Vill du se om den finns, se Visa och redigera dolda filer som .htaccess. Ta inte bort den.
Kontrollera att en direkt länk inte fungerar
- Öppna vid en nedladdningsbar produkt filadressen så som WooCommerce visar den. Den börjar med
/wp-content/uploads/woocommerce_uploads/. - Öppna den adressen i ett privat fönster, där du inte är inloggad.
- Bra är ett felmeddelande 403 Forbidden (eller 401 eller 404). Får du helt enkelt se eller ladda ner filen, då står mappen öppen.
Testa alltid en riktig fil, inte bara mappen. En tom sida vid mappen kan vara den tomma index.html, medan filerna själva faktiskt är öppna. Via kommandoraden går det också: curl -I https://example.com/wp-content/uploads/woocommerce_uploads/fil.pdf ska ge ett 403. Vad ett 403 betyder kan du läsa i Förbjudet (403): Du har inte behörighet att komma åt / på den här servern.
Gränser och åtkomst
- Nedladdningsgräns och förfallodatum ställer du in per produkt eller variant. Tomt är obegränsat. En sträng gräns begränsar delning, men ger klagomål om någon köper en ny dator.
- Åtkomst efter betalning är påslaget som standard: kunden kan ladda ner så snart betalningen har gått igenom.
- Godkända nedladdningsmappar (Approved download directories): endast filer från dessa mappar eller från dessa adresser får fungera som nedladdning. Håll listan kort.
Säljer du digitalt innehåll till konsumenter, ordna då även hur ångerrätten fungerar vid nedladdningar. WooCommerce gör inte det automatiskt. Den här artikeln är inte juridisk rådgivning; kontrollera hos ACM eller fråga en jurist.
Läs mer
- Digital and downloadable product handling (WooCommerce, engelska)
- Gratis WordPress-kurs, lektion 7.4 Härda webbplatsen: rättigheter, headers och säkerhetsplugins
