Beskyt digitale downloads i WooCommerce
Sælger du en e-bog, en pdf, musik eller software via WooCommerce? Så vil du gerne sikre, at kun betalende kunder kan hente filen. WooCommerce klarer det med et sikret downloadlink, men det virker kun godt, hvis downloadmetoden er sikker, og mappen med filer er lukket. Her kan du læse, hvordan det fungerer, hvad du indstiller, og hvordan du kontrollerer, at et direkte link ikke virker.
Sådan fungerer en download i WooCommerce
Afkryds Downloadbar (Downloadable) ved et produkt, og upload filen. WooCommerce placerer den i mappen wp-content/uploads/woocommerce_uploads/. Som standard tilføjer den en tilfældig tegnrække efter filnavnet, så navnet er svært at gætte. Kunden får aldrig den adresse, men et link til din shop. Ved hvert klik kontrollerer WooCommerce, om downloaden hører til en betalt bestilling, og om grænsen og udløbsdatoen endnu ikke er nået. Først da får kunden filen.
Hvis der ikke sendes noget med posten, så afkryds også Virtuel (Virtual). Så beregner WooCommerce ikke forsendelsesomkostninger.
Vælg en sikker downloadmetode
Gå til WooCommerce > Indstillinger > Produkter > Downloadbare produkter og se på downloadmetoden (File download method):
| Metode | Hvad der sker | Sikker? |
|---|---|---|
| Tving downloads (Force downloads, standard) | PHP læser filen og sender den selv til kunden. | Ja. Ved meget store filer kan PHP ramme sin tidsgrænse. |
| X-Accel-Redirect/X-Sendfile | PHP kontrollerer, webserveren sender filen. | Ja, hvis webserveren understøtter det. |
| Kun omdiriger (Redirect only) | Kunden går til filens rigtige adresse. | Nej. Den, der har adressen, kan dele den. WooCommerce selv kalder det usikkert. |
Vælg Tving downloads, medmindre du er sikker på, at X-Sendfile virker. Lad også den indstilling være slukket, hvor WooCommerce som sidste udvej falder tilbage på omdirigering.
Mappen woocommerce_uploads skal være lukket
Med en sikker metode skal selve mappen være lukket for almindelige besøgende. Ellers kan nogen, der kender filnavnet, for eksempel fra et lækket link, hente filen direkte. WooCommerce placerer derfor to filer i mappen ved installationen:
- en tom
index.html, så der ikke vises en liste med filer; - en
.htaccessmed reglendeny from all, som afviser alle direkte forespørgsler.
Sådan en .htaccess-fil virker på webservere, der læser den, som Apache og LiteSpeed. Vores servere kører på LiteSpeed, så hos WebOké virker denne beskyttelse uden ekstra indstillinger. På en server med nginx læser webserveren ikke .htaccess; der kræves en regel i serverkonfigurationen. Flytter du din shop senere til sådan en server, så kontroller det igen.
.htaccess-filen er skjult. Vil du se, om den findes, se Vis og rediger skjulte filer som .htaccess. Slet den ikke.
Kontroller, at et direkte link ikke virker
- Åbn filadressen ved et downloadbart produkt, som WooCommerce viser den. Den begynder med
/wp-content/uploads/woocommerce_uploads/. - Åbn den adresse i et privat vindue, hvor du ikke er logget ind.
- Det er godt med en fejlmeddelelse 403 Forbidden (eller 401 eller 404). Får du filen bare at se eller kan downloade den, så står mappen åben.
Test altid en rigtig fil, ikke kun mappen. En tom side ved mappen kan være den tomme index.html, mens selve filerne er åbne. På kommandolinjen kan det også: curl -I https://example.com/wp-content/uploads/woocommerce_uploads/fil.pdf skal give en 403. Hvad en 403 betyder, kan du læse i Forbidden (403): Du har ikke tilladelse til at tilgå / på denne server.
Grænser og adgang
- Downloadgrænse og udløbsdato indstiller du pr. produkt eller variant. Tom betyder ubegrænset. En streng grænse begrænser deling, men giver klager, hvis nogen køber en ny computer.
- Adgang efter betaling er slået til som standard: kunden kan downloade, så snart betalingen er gennemført.
- Godkendte downloadmapper (Approved download directories): kun filer fra disse mapper eller fra disse adresser må fungere som download. Hold listen kort.
Sælger du digitalt indhold til forbrugere, så sørg også for, hvordan fortrydelsesretten fungerer ved downloads. WooCommerce ordner ikke det automatisk. Denne artikel er ikke juridisk rådgivning; se hos ACM eller spørg en jurist.
Læs mere
- Digital and downloadable product handling (WooCommerce, engelsk)
- Gratis WordPress-kursus, lektion 7.4 Hærd siden: rettigheder, headers og sikkerhedsplugins
