Zaščita digitalnih prenosov v WooCommerce
Ali prodajate e-knjigo, pdf, glasbo ali programsko opremo prek WooCommerce? Potem želite, da datoteko lahko prevzamejo samo stranke, ki so plačale. WooCommerce to ureja z varovano povezavo za prenos, vendar to deluje dobro le, če je metoda prenosa varna in če je mapa z datotekami zaprta. Tukaj preberete, kako to deluje, kaj morate nastaviti in kako preverite, da neposredna povezava ne deluje.
Kako deluje prenos v WooCommerce
Pri izdelku označite Downloadable in naložite datoteko. WooCommerce jo shrani v mapo wp-content/uploads/woocommerce_uploads/. Privzeto za imenom datoteke doda naključno zaporedje znakov, tako da je ime težko uganiti. Stranka nikoli ne prejme tega naslova, temveč povezavo do Vaše trgovine. Ob vsakem kliku WooCommerce preveri, ali prenos sodi k plačanemu naročilu in ali omejitev ter datum veljavnosti še nista dosežena. Šele takrat stranka prejme datoteko.
Če z objavo ni povezana pošiljka, označite tudi Virtual. Tako WooCommerce ne zaračuna stroškov pošiljanja.
Izberite varno metodo prenosa
Pojdite na WooCommerce > Settings > Products > Downloadable products in si oglejte metodo prenosa datotek (File download method):
| Metoda | Kaj se zgodi | Varno? |
|---|---|---|
| Force downloads (privzeto) | PHP prebere datoteko in jo sam pošlje stranki. | Da. Pri zelo velikih datotekah lahko PHP naleti na časovno omejitev. |
| X-Accel-Redirect/X-Sendfile | PHP preveri dostop, spletni strežnik pošlje datoteko. | Da, če spletni strežnik to podpira. |
| Redirect only | Stranka je preusmerjena na dejanski naslov datoteke. | Ne. Kdor pozna naslov, ga lahko deli. Tudi WooCommerce to metodo označuje kot nevarno. |
Izberite Force downloads, razen če ste prepričani, da X-Sendfile deluje. Prav tako onemogočite možnost, pri kateri se WooCommerce kot zadnjo rešitev vrne na preusmeritev.
Mapa woocommerce_uploads mora biti zaprta
Pri varni metodi mora biti sama mapa zaprta za navadne obiskovalce. V nasprotnem primeru lahko nekdo, ki pozna ime datoteke, na primer iz razkrite povezave, datoteko prevzame neposredno. WooCommerce zato ob namestitvi v mapo postavi dve datoteki:
- prazno datoteko
index.html, da se ne prikaže seznam datotek; - datoteko
.htaccesss pravilomdeny from all, ki zavrne vse neposredne zahteve.
Taka datoteka .htaccess deluje na spletnih strežnikih, ki jo berejo, kot sta Apache in LiteSpeed. Naši strežniki delujejo na LiteSpeed, zato pri WebOké ta zaščita deluje brez dodatnih nastavitev. Na strežniku z nginx spletni strežnik datoteke .htaccess ne bere; tam je potrebno pravilo v konfiguraciji strežnika. Če boste trgovino kasneje preselili na tak strežnik, to ponovno preverite.
Datoteka .htaccess je skrita. Če želite videti, ali je prisotna, glejte Prikaz in urejanje skritih datotek, kot je .htaccess. Ne izbrišite je.
Preverjanje, da neposredna povezava ne deluje
- Pri izdelku, ki ga je mogoče prenesti, odprite naslov datoteke, kot ga prikaže WooCommerce. Začne se z
/wp-content/uploads/woocommerce_uploads/. - Odprite ta naslov v zasebnem oknu, kjer niste prijavljeni.
- Dobro je, če se prikaže sporočilo o napaki 403 Forbidden (ali 401 ali 404). Če datoteko preprosto vidite ali jo lahko prenesete, je mapa odprta.
Vedno preizkusite dejansko datoteko, ne samo mape. Prazna stran pri mapi je lahko prazna datoteka index.html, medtem ko so same datoteke lahko še vedno odprte. Na ukazni vrstici je to mogoče tudi takole: curl -I https://example.com/wp-content/uploads/woocommerce_uploads/bestand.pdf mora vrniti 403. Kaj pomeni 403, preberite v Prepovedano (403): nimate dovoljenja za dostop do strežnika »/«..
Omejitve in dostop
- Omejitev prenosov in datum veljavnosti nastavite za vsak izdelek ali varianto posebej. Prazno pomeni neomejeno. Stroga omejitev omejuje deljenje, vendar povzroča pritožbe, če nekdo kupi nov računalnik.
- Dostop po plačilu je privzeto vklopljen: stranka lahko prenese datoteko takoj, ko je plačilo uspešno.
- Odobrene mape za prenos (Approved download directories): kot prenos lahko služijo samo datoteke iz teh map ali s teh naslovov. Seznam naj bo kratek.
Če prodajate digitalno vsebino potrošnikom, uredite tudi, kako deluje pravica do odstopa pri prenosih. WooCommerce tega ne ureja samodejno. Ta članek ni pravni nasvet; preverite pri pristojnem organu za varstvo potrošnikov ali se posvetujte s pravnikom.
Dodatno branje
- Digital and downloadable product handling (WooCommerce, angleško)
- Brezplačni tečaj WordPress, lekcija 7.4 Utrjevanje spletnega mesta: pravice, glave in varnostni vtičniki
