A feltöltött fájlok korlátozása csak belépett felhasználók részére

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.

Mi lett a megoldás?


Cikkértesítő

Ha nem szeretnél lemaradni az új cikkekről, akkor iratkozz fel az értesítőre!

Szólj hozzá!


WordPress segítséget keresel?

Kérj díjmentes árajánlatot!

Főbb szolgáltatásaim: weboldal/webáruház készítés, megújítás, fejlesztés, gyorsítás, karbantartás, hibajavítás, oktatás, stb.