Egy Learndash és MemberMouse kombinációjú tagsági rendszernél merült fel a kérdés, hogy a wp-content/uploads mappa tartalma csak bejelentkezett felhasználóknak legyen elérhető.
Több zsákutca után megtaláltam a tökéletes megoldást.
Miért nem javaslom a Download Manager-t?
Mind a Learndash, mind a Membermouse azt javasolja, hogy a Download Manager bővítménnyel legyen megoldva a letöltések kezelése:
Ezt azért nem javasoltam az ügyfélnek, mert egy nagyon összetett rendszer van kialakítva a fentieken is túl (pl.: Salesautopilot integráció, stb.), ezért a minél több bővítmény, annál több lehetséges probléma elve alapján bővítmény nélküli megoldást kerestem.
Végül megtaláltam a Prevent File Access bővíményt, amely azt tudja, hogy a wp-content mappa meghatározott fájltípusai csak akkor legyenek elérhetőek el a böngészőből, ha be van jelentkezve az, aki a letöltéssel próbálkozik. De ugye írtam, hogy végül bővítmény nélkül oldottam meg.
Azt csináltam, hogy a bővítmény által generált kódot másoltam a .htaccess fájlba, és máris működik a korlátozás. (persze okosan, mert van olyan fájltípus, amit nem lehet így korlátozni, mert akkor a weboldal design is szétesik – lásd lejjebb)
Miért kell védeni a feltöltött fájlokat?
Azért, hogy az URL-eket megosztva se tudja illetéktelen személy elérni a csak fizetés ellenében elérhető anyagokat. Kicsit furcsa volt nekem először anno, hogy a Learndash-ben nincs ilyen védelem, hiszen más bővítmény ezt tudja. Pl. a WooCommerce, aminek külön védett mappája van a szerveren a letölthető fájlok tárolásához.