Απόκρυψη ψηφιακών λήψεων στο WooCommerce
Πουλάτε ένα e-book, ένα pdf, μουσική ή λογισμικό μέσω WooCommerce; Τότε θέλετε μόνο οι πελάτες που έχουν πληρώσει να μπορούν να ανακτήσουν το αρχείο. Το WooCommerce το ρυθμίζει αυτό με έναν ασφαλή σύνδεσμο λήψης, όμως αυτό λειτουργεί σωστά μόνο αν η μέθοδος λήψης είναι ασφαλής και ο φάκελος με τα αρχεία είναι κλειστός. Εδώ διαβάζετε πώς λειτουργεί, τι ρυθμίζετε και πώς ελέγχετε ότι ένας άμεσος σύνδεσμος δεν λειτουργεί.
Πώς λειτουργεί μια λήψη στο WooCommerce
Επιλέξτε σε ένα προϊόν Downloadable (Δυνατότητα λήψης) και ανεβάστε το αρχείο. Το WooCommerce το τοποθετεί στον φάκελο wp-content/uploads/woocommerce_uploads/. Από προεπιλογή προσθέτει μια τυχαία σειρά χαρακτήρων στο όνομα του αρχείου, ώστε το όνομα να είναι δύσκολο να μαντευτεί. Ο πελάτης δεν λαμβάνει ποτέ αυτή τη διεύθυνση, αλλά έναν σύνδεσμο προς το κατάστημά σας. Σε κάθε κλικ, το WooCommerce ελέγχει αν η λήψη ανήκει σε μια πληρωμένη παραγγελία και αν το όριο και η ημερομηνία λήξης δεν έχουν ακόμη επιτευχθεί. Μόνο τότε ο πελάτης λαμβάνει το αρχείο.
Αν δεν αποστέλλεται τίποτα ταχυδρομικά, επιλέξτε επίσης Virtual (Εικονικό). Τότε το WooCommerce δεν χρεώνει έξοδα αποστολής.
Επιλέξτε μια ασφαλή μέθοδο λήψης
Μεταβείτε στο WooCommerce > Ρυθμίσεις > Προϊόντα > Προϊόντα με δυνατότητα λήψης και δείτε στη μέθοδο λήψης (File download method):
| Μέθοδος | Τι συμβαίνει | Ασφαλές; |
|---|---|---|
| Force downloads (Εξαναγκασμός λήψεων, προεπιλογή) | Η PHP διαβάζει το αρχείο και το στέλνει η ίδια στον πελάτη. | Ναι. Σε πολύ μεγάλα αρχεία η PHP μπορεί να φτάσει στο χρονικό της όριο. |
| X-Accel-Redirect/X-Sendfile | Η PHP κάνει τον έλεγχο, ο web server στέλνει το αρχείο. | Ναι, αν ο web server το υποστηρίζει. |
| Redirect only (Μόνο ανακατεύθυνση) | Ο πελάτης μεταβαίνει στην πραγματική διεύθυνση του αρχείου. | Όχι. Όποιος έχει τη διεύθυνση μπορεί να την μοιραστεί. Το ίδιο το WooCommerce το χαρακτηρίζει μη ασφαλές. |
Επιλέξτε Force downloads, εκτός αν γνωρίζετε με βεβαιότητα ότι το X-Sendfile λειτουργεί. Απενεργοποιήστε επίσης την επιλογή με την οποία το WooCommerce, ως τελευταία λύση, επιστρέφει σε ανακατεύθυνση.
Ο φάκελος woocommerce_uploads πρέπει να είναι κλειστός
Με μια ασφαλή μέθοδο, ο ίδιος ο φάκελος πρέπει να είναι κλειστός για τους απλούς επισκέπτες. Διαφορετικά, όποιος γνωρίζει το όνομα του αρχείου, για παράδειγμα από έναν σύνδεσμο που έχει διαρρεύσει, μπορεί να ανακτήσει το αρχείο απευθείας. Για τον λόγο αυτό, το WooCommerce τοποθετεί κατά την εγκατάσταση δύο αρχεία στον φάκελο:
- ένα κενό
index.html, ώστε να μην εμφανίζεται λίστα αρχείων, - ένα
.htaccessμε τον κανόναdeny from all, το οποίο απορρίπτει όλα τα άμεσα αιτήματα.
Ένα τέτοιο αρχείο .htaccess λειτουργεί σε web servers που το διαβάζουν, όπως το Apache και το LiteSpeed. Οι διακομιστές μας λειτουργούν με LiteSpeed, επομένως στη WebOké αυτή η προστασία λειτουργεί χωρίς πρόσθετες ρυθμίσεις. Σε έναν διακομιστή με nginx, ο web server δεν διαβάζει το .htaccess: εκεί χρειάζεται ένας κανόνας στη διαμόρφωση του διακομιστή. Αν μεταφέρετε αργότερα το κατάστημά σας σε έναν τέτοιο διακομιστή, ελέγξτε το ξανά.
Το αρχείο .htaccess είναι κρυφό. Αν θέλετε να δείτε αν υπάρχει, δείτε Εμφάνιση και επεξεργασία κρυφών αρχείων όπως το .htaccess. Μην το διαγράψετε.
Έλεγχος ότι ένας άμεσος σύνδεσμος δεν λειτουργεί
- Ανοίξτε σε ένα προϊόν με δυνατότητα λήψης τη διεύθυνση του αρχείου όπως την εμφανίζει το WooCommerce. Ξεκινά με
/wp-content/uploads/woocommerce_uploads/. - Ανοίξτε αυτή τη διεύθυνση σε ένα παράθυρο ιδιωτικής περιήγησης, όπου δεν είστε συνδεδεμένοι.
- Καλό σημάδι είναι ένα μήνυμα σφάλματος 403 Forbidden (ή 401 ή 404). Αν βλέπετε ή μπορείτε να κατεβάσετε απλώς το αρχείο, τότε ο φάκελος είναι ανοιχτός.
Δοκιμάζετε πάντα ένα πραγματικό αρχείο, όχι μόνο τον φάκελο. Μια κενή σελίδα στον φάκελο μπορεί να είναι το κενό index.html, ενώ τα ίδια τα αρχεία παραμένουν ανοιχτά. Στη γραμμή εντολών μπορείτε επίσης να το ελέγξετε: curl -I https://example.com/wp-content/uploads/woocommerce_uploads/bestand.pdf πρέπει να επιστρέφει 403. Τι σημαίνει ένα 403 διαβάζετε στο Απαγορευμένη πρόσβαση (403): Δεν έχετε δικαίωμα πρόσβασης στο / σε αυτόν τον διακομιστή.
Όρια και πρόσβαση
- Το όριο λήψεων και η ημερομηνία λήξης ρυθμίζονται ανά προϊόν ή παραλλαγή. Κενό σημαίνει απεριόριστο. Ένα αυστηρό όριο περιορίζει τον διαμοιρασμό, αλλά προκαλεί παράπονα αν κάποιος αγοράσει έναν νέο υπολογιστή.
- Η πρόσβαση μετά την πληρωμή είναι ενεργή από προεπιλογή: ο πελάτης μπορεί να κάνει λήψη μόλις η πληρωμή ολοκληρωθεί επιτυχώς.
- Approved download directories (Εγκεκριμένοι φάκελοι λήψης): μόνο αρχεία από αυτούς τους φακέλους ή από αυτές τις διευθύνσεις μπορούν να χρησιμεύσουν ως λήψη. Κρατήστε τη λίστα σύντομη.
Αν πουλάτε ψηφιακό περιεχόμενο σε καταναλωτές, ρυθμίστε επίσης πώς λειτουργεί το δικαίωμα υπαναχώρησης για λήψεις. Το WooCommerce δεν το κάνει αυτό αυτόματα. Αυτό το άρθρο δεν αποτελεί νομική συμβουλή: ενημερωθείτε από την ACM ή ρωτήστε έναν νομικό.
Περαιτέρω ανάγνωση
- Digital and downloadable product handling (WooCommerce, στα αγγλικά)
- Δωρεάν μάθημα WordPress, μάθημα 7.4 Ενίσχυση της ασφάλειας του ιστότοπου: δικαιώματα, headers και πρόσθετα ασφαλείας
