Protezione dei download digitali in WooCommerce
Vende un e-book, un pdf, musica o software tramite WooCommerce? In tal caso desidera che solo i clienti paganti possano scaricare il file. WooCommerce gestisce questo aspetto con un link di download protetto, ma funziona bene solo se il metodo di download è sicuro e la cartella con i file è chiusa. Qui scopre come funziona, cosa impostare e come verificare che un link diretto non funzioni.
Come funziona un download in WooCommerce
In un prodotto selezioni Scaricabile (Downloadable) e carichi il file. WooCommerce lo colloca nella cartella wp-content/uploads/woocommerce_uploads/. Per impostazione predefinita, aggiunge una sequenza casuale di caratteri dopo il nome del file, in modo che il nome sia difficile da indovinare. Il cliente non riceve mai quell'indirizzo, ma un link al Suo negozio. Ad ogni clic, WooCommerce controlla se il download appartiene a un ordine pagato e se il limite e la data di scadenza non sono ancora stati raggiunti. Solo allora il cliente riceve il file.
Se non c'è nulla da spedire con la posta, selezioni anche Virtuale (Virtual). In questo modo WooCommerce non addebita costi di spedizione.
Scegliere un metodo di download sicuro
Vada su WooCommerce > Impostazioni > Prodotti > Prodotti scaricabili e controlli il metodo di download dei file (File download method):
| Metodo | Cosa succede | Sicuro? |
|---|---|---|
| Forza download (Force downloads, predefinito) | PHP legge il file e lo invia direttamente al cliente. | Sì. Con file molto grandi, PHP può raggiungere il proprio limite di tempo. |
| X-Accel-Redirect/X-Sendfile | PHP esegue il controllo, il server web invia il file. | Sì, se il server web lo supporta. |
| Solo reindirizzamento (Redirect only) | Il cliente viene indirizzato all'indirizzo reale del file. | No. Chi conosce l'indirizzo può condividerlo. Lo stesso WooCommerce lo definisce non sicuro. |
Scelga Forza download, a meno che non sia certo che X-Sendfile funzioni. Disattivi anche l'opzione che fa ricorrere WooCommerce al reindirizzamento come ultima risorsa.
La cartella woocommerce_uploads deve essere chiusa
Con un metodo sicuro, la cartella stessa deve essere chiusa ai visitatori comuni. Altrimenti, chiunque conosca il nome del file, ad esempio tramite un link trapelato, può scaricare il file direttamente. Per questo motivo, durante l'installazione WooCommerce inserisce due file nella cartella:
- un file
index.htmlvuoto, in modo che non sia visibile alcun elenco di file; - un file
.htaccesscon la regoladeny from all, che rifiuta tutte le richieste dirette.
Un file .htaccess di questo tipo funziona sui server web che lo leggono, come Apache e LiteSpeed. I nostri server funzionano su LiteSpeed, quindi presso WebOké questa protezione funziona senza impostazioni aggiuntive. Su un server con nginx, il server web non legge il file .htaccess; in tal caso è necessaria una regola nella configurazione del server. Se in seguito trasferisce il Suo negozio su un server di questo tipo, verifichi nuovamente questo aspetto.
Il file .htaccess è nascosto. Per vedere se è presente, consulti Mostrare e modificare i file nascosti come .htaccess. Non lo elimini.
Verificare che un link diretto non funzioni
- Apra, per un prodotto scaricabile, l'indirizzo del file come viene mostrato da WooCommerce. Inizia con
/wp-content/uploads/woocommerce_uploads/. - Apra tale indirizzo in una finestra privata, in cui non è autenticato.
- Un messaggio di errore 403 Forbidden (oppure 401 o 404) è un buon segno. Se invece visualizza o scarica semplicemente il file, la cartella è aperta.
Testi sempre un file reale, non solo la cartella. Una pagina vuota a livello della cartella potrebbe essere il file index.html vuoto, mentre i file stessi potrebbero comunque essere aperti. È possibile verificare anche da riga di comando: curl -I https://example.com/wp-content/uploads/woocommerce_uploads/bestand.pdf deve restituire un 403. Per sapere cosa significa un 403, consulti Vietato (403): non ha i permessi per accedere a / su questo server.
Limiti e accesso
- Limite di download e data di scadenza si impostano per prodotto o variante. Se lasciati vuoti, sono illimitati. Un limite rigido riduce la condivisione, ma genera reclami se qualcuno acquista un nuovo computer.
- Accesso dopo il pagamento è attivo per impostazione predefinita: il cliente può scaricare non appena il pagamento è andato a buon fine.
- Cartelle di download approvate (Approved download directories): solo i file provenienti da queste cartelle o da questi indirizzi possono fungere da download. Mantenga l'elenco breve.
Se vende contenuti digitali ai consumatori, regoli anche il funzionamento del diritto di recesso per i download. WooCommerce non lo gestisce automaticamente. Questo articolo non costituisce consulenza legale; consulti l'ACM o rivolgaSi a un legale.
Per saperne di più
- Digital and downloadable product handling (WooCommerce, in inglese)
- Corso WordPress gratuito, lezione 7.4 Rafforzare il sito: permessi, header e plugin di sicurezza
