Modul 3 · 3.3
Deutsch
Digitale und virtuelle Produkte
Modul 3: Produkte · Lesezeit: 11 Minuten
Lernziel: Nach dieser Lektion können Sie digitale und virtuelle Produkte sicher verkaufen: Sie wählen eine sichere Downloadmethode, schirmen den Download-Ordner ab, legen Limits fest und regeln das Widerrufsrecht bei digitalen Inhalten korrekt.
Kernbegriffe: virtuelles Produkt, herunterladbares Produkt, Downloadlink, Download-Limit, Ablaufdatum, Downloadmethode (Downloads erzwingen, X-Accel-Redirect / X-Sendfile, Nur Weiterleitung), woocommerce_uploads, .htaccess, nginx, genehmigte Download-Verzeichnisse (Approved download directories), Zugriff nach Zahlung, digitale Inhalte, ausdrückliche Zustimmung, Verzicht auf das Widerrufsrecht
Virtuell und herunterladbar: zwei verschiedene Häkchen
Bei einem einfachen Produkt oder einer Variante sehen Sie zwei Häkchen. Sie ähneln sich, bewirken aber etwas anderes:
- Virtuell (Virtual) bedeutet: Es wird nichts versendet. WooCommerce berechnet keine Versandkosten und fragt an der Kasse keine Lieferadresse ab (wenn alles im Warenkorb virtuell ist). Denken Sie an eine Teeverkostung vor Ort, einen Geschenkgutschein, den Sie per E-Mail verschicken, oder einen Online-Workshop.
- Herunterladbar (Downloadable) bedeutet: Nach der Zahlung erhält der Kunde eine oder mehrere Dateien. WooCommerce erstellt pro Kunde einen Downloadlink und zeigt ihn in der Bestätigungsmail und unter Ihr Konto > Downloads an.
Ein digitales Rezeptbuch als PDF ist meistens beides: Es geht nichts per Post, und es gibt eine Datei. Ein gedrucktes Rezeptbuch mit einem kostenlosen PDF dazu ist herunterladbar, aber nicht virtuell: Das Buch wird ja per Post verschickt.
Theehuis Example verkauft das "Rezeptbuch Tee und Kuchen" als PDF für € 9,95. Häkchen: virtuell und herunterladbar.
Wie ein Download funktioniert und warum die Methode wichtig ist
Laden Sie bei einem herunterladbaren Produkt eine Datei hoch, legt WooCommerce sie im Ordner wp-content/uploads/woocommerce_uploads/ ab. Standardmäßig hängt es eine zufällige Zeichenfolge an den Dateinamen an (Einstellung "Append a unique string to filename for security", standardmäßig aktiviert). Der Kunde erhält nie diese Adresse, sondern einen Link zu Ihrem Shop mit einem Bestellschlüssel und einem Downloadcode. WooCommerce prüft bei jedem Klick: Gehört dieser Download zu einer bezahlten Bestellung, ist das Limit nicht erreicht, ist er nicht abgelaufen? Erst dann erhält der Kunde die Datei.
Wie die Datei danach zum Kunden gelangt, wählen Sie unter WooCommerce > Einstellungen > Produkte > Herunterladbare Produkte bei der Downloadmethode (File download method):
| Methode | Funktionsweise | Sicherheit |
|---|---|---|
| Downloads erzwingen (Force downloads, Standard) | PHP liest die Datei und sendet sie selbst weiter | Die echte Adresse bleibt verborgen. Große Dateien können auf manchen Servern stocken oder an das Zeitlimit von PHP stoßen |
| X-Accel-Redirect / X-Sendfile | PHP prüft, der Webserver sendet die Datei | Genauso sicher und besser für große Dateien; der Webserver muss es unterstützen (bei Apache ist dafür das Modul mod_xsendfile nötig, nginx kennt X-Accel-Redirect). Fragen Sie Ihren Hoster |
| Nur Weiterleitung (Redirect only) | WooCommerce leitet den Kunden zur echten Dateiadresse weiter | Unsicher: Wer die Adresse hat, kann sie weitergeben, und die Datei lässt sich ohne Kauf abrufen. WooCommerce nennt sie selbst "Insecure" |
Wählen Sie also Downloads erzwingen oder X-Sendfile. Weiterleiten ist nur eine Notlösung, und die Einstellung "Allow using redirect mode (insecure) as a last resort" lässt WooCommerce auf Weiterleiten zurückfallen, wenn die andere Methode scheitert; lassen Sie diese deaktiviert, sofern Sie nicht genau wissen, warum Sie sie brauchen.
Den Ordner abschirmen
Bei Downloads erzwingen oder X-Sendfile muss der Ordner woocommerce_uploads für normale Besucher gesperrt sein. Sonst kann jemand, der den Dateinamen errät oder aus einem durchgesickerten Link entnimmt, die Datei direkt abrufen. WooCommerce legt deshalb bei der Installation zwei Dateien in diesem Ordner an:
- eine leere
index.html, damit der Ordner keine Dateiliste anzeigt; - eine
.htaccessmitdeny from all(bei der Methode Nur Weiterleitung:Options -Indexes).
Diese .htaccess-Datei wirkt auf Apache und LiteSpeed (wie bei WebOké und vielen anderen Shared-Hosting-Angeboten). Auf nginx liest der Webserver keine .htaccess. Dort muss in der Serverkonfiguration eine Regel stehen, die den Ordner sperrt. Bei einem verwalteten nginx-Hosting übernimmt das manchmal der Hoster; auf einem eigenen VPS müssen Sie es selbst erledigen. WooCommerce prüft dies selbst und zeigt einen Hinweis im Backend (und unter Website-Zustand), wenn der Ordner nicht geschützt zu sein scheint.
Einige Punkte, auf die Sie achten sollten:
- Eine leere 200 ist kein Beweis. Rufen Sie den Ordner auf und sehen eine leere Seite, kann das die leere
index.htmlsein, während die Dateien selbst offen liegen. Testen Sie deshalb auch eine einzelne Datei (die Aufgabe tut das). - Dateien von außerhalb. Sie können bei einem Produkt auch einen Link zu einer Datei an anderer Stelle angeben. Dafür hat WooCommerce die Liste der genehmigten Download-Verzeichnisse (Approved download directories): Nur Dateien aus diesen Ordnern oder von diesen Adressen dürfen als Download verwendet werden. So kann niemand mit Verwaltungsrechten an einem Produkt versehentlich oder absichtlich eine beliebige Datei vom Server als Download anbieten. Halten Sie diese Liste kurz.
- Backups und Staging. Der Ordner ist Teil Ihres Backups. Auf einer Staging-Umgebung liegen also auch Ihre kostenpflichtigen Dateien: Schirmen Sie die Staging-Umgebung ab (Lektion 7.3).
Limits und Zugriff
Pro herunterladbarem Produkt oder pro Variante legen Sie fest:
- Download-Limit (Download limit): wie oft der Kunde herunterladen darf. Leer bedeutet unbegrenzt. Ein Limit von beispielsweise 5 erschwert das Weitergeben, führt aber zu Beschwerden, wenn sich jemand einen neuen Laptop kauft. Wählen Sie einen vernünftigen Wert und helfen Sie Kunden, die danach fragen.
- Ablaufdatum (Download expiry): nach wie vielen Tagen der Link nicht mehr funktioniert.
Allgemeine Einstellungen unter Herunterladbare Produkte:
- Downloads erfordern Anmeldung (Downloads require login), standardmäßig deaktiviert. Aktiviert bedeutet, dass Gäste nichts herunterladen können; schalten Sie es nur ein, wenn Sie auch Kundenkonten verpflichtend machen.
- Zugriff auf herunterladbare Produkte nach Zahlung gewähren (Grant access to downloadable products after payment), standardmäßig aktiviert: Der Kunde kann herunterladen, sobald die Bestellung den Status In Bearbeitung hat, also direkt nach einer erfolgreichen Zahlung. Ist es deaktiviert, erst nach Abgeschlossen.
Widerruf bei digitalen Inhalten
Bei einer gewöhnlichen Teekanne hat der Kunde 14 Tage Bedenkzeit (Lektion 5.2). Bei einem Download ist das schwierig: Wer das PDF hat, hat es, auch nach einem Widerruf. Deshalb gibt es eine Ausnahme, aber nur unter Bedingungen. In der EU steht sie in Artikel 16 der Richtlinie 2011/83/EU; in den Niederlanden in Artikel 6:230p Buchstabe g BW (Burgerlijk Wetboek). Es besteht kein Widerrufsrecht bei digitalen Inhalten, die nicht auf einem körperlichen Datenträger geliefert werden, wenn:
- die Lieferung mit ausdrücklicher vorheriger Zustimmung des Verbrauchers begonnen hat;
- der Verbraucher erklärt hat, dass er damit auf sein Widerrufsrecht verzichtet; und
- Sie dies bestätigt haben (in der Bestätigung des Vertrags, auf einem dauerhaften Datenträger wie der Bestellmail).
Fehlt eine dieser drei Voraussetzungen, behält der Kunde sein Widerrufsrecht, auch wenn er bereits heruntergeladen hat. In Belgien und Deutschland gilt dieselbe EU-Regel im jeweiligen nationalen Recht (siehe Lektion 5.2); in Österreich steht sie im Fern- und Auswärtsgeschäfte-Gesetz (FAGG).
WooCommerce regelt dies nicht automatisch. Sie benötigen:
- ein Pflicht-Häkchen an der Kasse, nur wenn digitale Inhalte im Warenkorb liegen, mit einem Text wie "Ich stimme zu, dass die Lieferung sofort beginnt, und mir ist bekannt, dass ich dadurch mein Widerrufsrecht verliere";
- denselben Text als Bestätigung in der Bestellmail für diese Produkte;
- den passenden Satz in Ihrer Widerrufsbelehrung, dass dies für Downloads gilt.
Es gibt Erweiterungen, die ein solches Häkchen hinzufügen; der Kassen-Block bietet ebenfalls Möglichkeiten für zusätzliche Felder. Prüfen Sie diese wie jedes andere Plugin. Ein Häkchen, das bereits vorab gesetzt ist, gilt nicht als ausdrückliche Zustimmung (Lektion 5.4).
Beachten Sie den Unterschied zu virtuellen Dienstleistungen, etwa einem Workshop an einem bestimmten Datum. Dort gelten die Regeln für Dienstleistungen, mit anderen Ausnahmen. Lesen Sie Lektion 5.2.
Zusammenfassung
- Virtuell = nichts versenden; herunterladbar = Dateien nach der Zahlung. Ein PDF ist meistens beides.
- Wählen Sie Downloads erzwingen oder X-Accel-Redirect / X-Sendfile; Nur Weiterleitung ist unsicher.
- Der Ordner
woocommerce_uploadsmuss gesperrt sein:.htaccessauf Apache und LiteSpeed, eine Serverregel auf nginx. Testen Sie eine echte Datei, nicht nur den Ordner. - Halten Sie die Liste der genehmigten Download-Verzeichnisse kurz und legen Sie vernünftige Limits fest.
- Kein Widerrufsrecht bei Downloads nur mit ausdrücklicher Zustimmung, Verzicht auf das Recht und einer Bestätigung; WooCommerce erledigt das nicht automatisch. In Österreich ergibt sich diese Ausnahme aus dem FAGG.
Quiz
Aufgabe
Aufgabe A3.3: Sind Ihre Downloads geschützt? Diese Aufgabe ruft Pfade ab, die nicht verlinkt sind, und funktioniert deshalb nur für Ihren eigenen Shop. Zuerst weisen Sie nach, dass die Domain Ihnen gehört: Sie legen einen TXT-Record _weboke-cursus.<Ihre Domain> mit dem Code an, den Sie erhalten, oder Sie platzieren eine Datei /.well-known/weboke-cursus-<code>.txt mit diesem Code darin. Geben Sie danach die Adresse Ihres Shops ein und, wenn Sie möchten, den Pfad einer Downloaddatei, so wie WooCommerce ihn beim Produkt anzeigt (er beginnt mit /wp-content/uploads/woocommerce_uploads/). Das Programm ruft den Ordner ab (ohne Weiterleitungen zu folgen, nur den Anfang) und, falls Sie einen Pfad angegeben haben, einmal die Header dieser Datei. Grün, wenn der Ordner 401, 403 oder 404 liefert oder eine Seite ohne Dateiliste, und die Datei 401, 403 oder 404 liefert. Orange, wenn Sie keine Datei angegeben haben: Dann wurde nur der Ordner geprüft, und eine leere Seite sagt nicht genug aus. Rot, wenn der Ordner eine Dateiliste anzeigt oder die Datei einfach heruntergeladen werden kann (200): Dann kann jeder mit der Adresse sie ohne Kauf abrufen. Das Programm speichert nur die Statuscodes, nie die Datei.
Frage für Sie selbst (wird nicht geprüft): Welche Downloadmethode ist in Ihrem Shop eingestellt, und wie haben Sie den Widerruf bei Ihren digitalen Produkten geregelt?
Weiterführende Informationen
- Digital and downloadable product handling (woocommerce.com, Englisch): https://woocommerce.com/document/digital-downloadable-product-handling/
- Kostenloser WordPress-Kurs 7.4: Die Website härten: Berechtigungen, Header und Sicherheits-Plugins
- **Forbidden (403):** Sie haben keine Berechtigung, um auf / auf diesem Server zuzugreifen.
- Niederländisches Bürgerliches Gesetzbuch (Burgerlijk Wetboek) Buch 6, Artikel 6:230p (wetten.overheid.nl, Niederländisch): https://wetten.overheid.nl/BWBR0005289/
Die Wissensdatenbank beschreibt die Situation bei WebOké (LiteSpeed, .htaccess funktioniert); bei anderen Anbietern funktioniert es ähnlich, außer auf nginx.
