Digitaalisten latausten suojaaminen WooCommercessa
Myytkö e-kirjaa, pdf-tiedostoa, musiikkia tai ohjelmistoa WooCommercen kautta? Silloin haluat, että vain maksavat asiakkaat pääsevät hakemaan tiedoston. WooCommerce hoitaa sen suojatulla latauslinkillä, mutta se toimii kunnolla vain, jos latausmenetelmä on turvallinen ja tiedostokansio on suljettu. Tässä kerrotaan, miten se toimii, mitä kannattaa asettaa ja miten tarkistat, ettei suora linkki toimi.
Miten lataus toimii WooCommercessa
Valitse tuotteessa Ladattava (Downloadable) ja lataa tiedosto. WooCommerce tallentaa sen kansioon wp-content/uploads/woocommerce_uploads/. Oletuksena se lisää tiedostonimen perään satunnaisen merkkijonon, jotta nimeä on vaikea arvata. Asiakas ei koskaan saa tätä osoitetta, vaan linkin kauppaasi. Joka kerta kun linkkiä klikataan, WooCommerce tarkistaa, kuuluuko lataus maksettuun tilaukseen ja onko raja tai eräpäivä vielä saavuttamatta. Vasta sitten asiakas saa tiedoston.
Jos tuotteeseen ei liity postitusta, valitse myös Virtuaalinen (Virtual). Silloin WooCommerce ei laske toimituskuluja.
Valitse turvallinen latausmenetelmä
Siirry kohtaan WooCommerce > Asetukset > Tuotteet > Ladattavat tuotteet ja tarkista latausmenetelmä (File download method):
| Menetelmä | Mitä tapahtuu | Turvallinen? |
|---|---|---|
| Pakotettu lataus (Force downloads, oletus) | PHP lukee tiedoston ja lähettää sen itse asiakkaalle. | Kyllä. Hyvin suurilla tiedostoilla PHP voi törmätä aikarajaansa. |
| X-Accel-Redirect/X-Sendfile | PHP tarkistaa, webpalvelin lähettää tiedoston. | Kyllä, jos webpalvelin tukee sitä. |
| Vain uudelleenohjaus (Redirect only) | Asiakas ohjataan tiedoston todelliseen osoitteeseen. | Ei. Jos joku saa osoitteen, hän voi jakaa sen. WooCommerce itse kutsuu tätä turvattomaksi. |
Valitse Pakotettu lataus, ellet ole varma, että X-Sendfile toimii. Poista käytöstä myös asetus, jolla WooCommerce viimeisenä keinona turvautuu uudelleenohjaukseen.
Kansion woocommerce_uploads täytyy olla suljettu
Turvallisen menetelmän lisäksi itse kansion täytyy olla suljettu tavallisilta kävijöiltä. Muuten tiedostonimen tunteva henkilö, esimerkiksi vuotaneesta linkistä, voi hakea tiedoston suoraan. Siksi WooCommerce asettaa asennuksen yhteydessä kansioon kaksi tiedostoa:
- tyhjän
index.html-tiedoston, jotta tiedostoluetteloa ei näytetä; .htaccess-tiedoston säännöllädeny from all, joka estää kaikki suorat pyynnöt.
Tällainen .htaccess-tiedosto toimii webpalvelimilla, jotka lukevat sen, kuten Apache ja LiteSpeed. Palvelimemme käyttävät LiteSpeediä, joten WebOké:ssa tämä suojaus toimii ilman lisäasetuksia. Nginx-palvelimella webpalvelin ei lue .htaccess-tiedostoa, vaan siellä tarvitaan sääntö palvelimen asetuksiin. Jos siirrät kauppasi myöhemmin tällaiselle palvelimelle, tarkista asia uudelleen.
Tiedosto .htaccess on piilotettu. Jos haluat tarkistaa, onko se paikallaan, katso Piilotettujen tiedostojen, kuten .htaccess, näyttäminen ja muokkaaminen. Älä poista sitä.
Tarkista, ettei suora linkki toimi
- Avaa ladattavan tuotteen tiedosto-osoite sellaisena kuin WooCommerce sen näyttää. Se alkaa muodolla
/wp-content/uploads/woocommerce_uploads/. - Avaa osoite yksityisessä ikkunassa, jossa et ole kirjautunut sisään.
- Hyvä merkki on virheilmoitus 403 Forbidden (tai 401 tai 404). Jos saat tiedoston näkyviin tai ladattavaksi suoraan, kansio on auki.
Testaa aina oikeaa tiedostoa, älä pelkkää kansiota. Tyhjä sivu kansion kohdalla voi olla tyhjä index.html, vaikka itse tiedostot olisivat avoinna. Komentorivillä se onnistuu näin: curl -I https://example.com/wp-content/uploads/woocommerce_uploads/tiedosto.pdf pitäisi antaa 403-vastaus. Mitä 403 tarkoittaa, lue artikkelista Kielletty (403): Sinulla ei ole käyttöoikeutta kohteeseen / tällä palvelimella.
Rajat ja käyttöoikeudet
- Latausraja ja eräpäivä asetetaan tuotteittain tai vaihtoehdoittain. Tyhjä tarkoittaa rajoittamatonta. Tiukka raja rajoittaa jakamista, mutta aiheuttaa valituksia, jos joku ostaa uuden tietokoneen.
- Pääsy maksun jälkeen on oletuksena päällä: asiakas voi ladata heti, kun maksu on onnistunut.
- Hyväksytyt latauskansiot (Approved download directories): vain näiden kansioiden tai osoitteiden tiedostot voivat toimia latauksina. Pidä lista lyhyenä.
Jos myyt digitaalista sisältöä kuluttajille, järjestä myös se, miten peruutusoikeus toimii latausten kohdalla. WooCommerce ei hoida tätä automaattisesti. Tämä artikkeli ei ole oikeudellista neuvontaa; tarkista asia ACM:ltä (Alankomaiden kuluttaja- ja markkinaviranomaiselta) tai kysy juristilta.
Lue lisää
- Digital and downloadable product handling (WooCommerce, englanniksi)
- Ilmainen WordPress-kurssi, oppitunti 7.4 Sivuston vahvistaminen: oikeudet, otsikot ja tietoturvalaajennukset
