# Kurzusfájlok és letöltések védelme

> Hogyan védheted meg a kurzusok fájljait és letölthető anyagait: Integrity kiegészítő, videók, shortcode-ok, hozzáférési mód, tagsági bővítmények, valamint Apache és Nginx szabályok a LearnDash könyvtárához.

Ez a fejezet két szinten mutatja meg, hogyan érheted el, hogy a kurzus anyagaihoz csak jogosult felhasználók férjenek hozzá: a LearnDash eszközeivel, majd a webszerver szintjén.

## A kurzustartalom védelme a LearnDash eszközeivel

### 1. Az Integrity kiegészítő

Az Integrity kiegészítő két fontos védelmet ad:

- **Hotlink-védelem:** megakadályozza, hogy illetéktelenek közvetlen hivatkozással érjék el a kurzus fájljait.
- **Másolás tiltása:** letiltja a jobb gombos menüt és a szövegkijelölést, hogy kevésbé lehessen lemásolni a tartalmat.

Beállítás:

1. Telepítsd és aktiváld az Integrity kiegészítőt: **LearnDash LMS → Kiegészítők**.
2. Állítsd be a védelmeket a saját igényeid szerint. A részleteket az [Integrity (tartalomvédelem)](https://hub.hellowp.io/hu/plugins/sfwd-lms/integraciok-integrity/) fejezet tartalmazza.

### 2. Videók biztonságos tárolása

Videókhoz érdemes olyan platformot használni, amely erős védelmet ad, például a Vimeót. Itt tartományszintű adatvédelmet is beállíthatsz: a videó csak a te webhelyeden játszható le. Töltsd fel a videót a Vimeóra, és a videó webcímével ágyazd be a LearnDash-kurzusba. Ezek a különleges adatvédelmi beállítások az ingyenes Vimeo-csomagban nem érhetők el.

### 3. Letölthető anyagok elrejtése a shortcode-dal

PDF-ekhez és más letölthető anyagokhoz használd a `[student]` shortcode-ot, hogy csak a kurzusba beiratkozott felhasználók lássák vagy tölthessék le őket:

```text
[student]Ide kerül a letöltési hivatkozás[/student]
```

A shortcode-okról a [Shortcode-ok és blokkok](https://hub.hellowp.io/hu/plugins/sfwd-lms/beallitasok-funkciok-shortcode-ok-blokkok/) fejezetben olvashatsz.

### 4. A kurzus megjelenítésének korlátozása

Gondoskodj róla, hogy a kurzus tartalmát csak a beiratkozott felhasználók lássák:

1. Nyisd meg: **LearnDash LMS → Kurzusok**.
2. Szerkeszd a kurzust.
3. Állítsd be a hozzáférési módot (például **Megvásárlás**, **Ismétlődő** vagy **Zárt**), így korlátozod a hozzáférést.

A hozzáférési módokról lásd a [Kurzus-hozzáférés](https://hub.hellowp.io/hu/plugins/sfwd-lms/kurzusok-hozzaferes/) fejezetet, a megjelenítési beállításokról pedig a [Megjelenítés és tartalom](https://hub.hellowp.io/hu/plugins/sfwd-lms/kurzusok-megjelenites-tartalom/) fejezetet.

### 5. Tagsági bővítmények (nem kötelező)

Haladóbb védelemhez használhatsz tagsági bővítményt, például a MemberPress-t vagy a Restrict Content Pro-t. Ezekkel tagsági szinteket hozhatsz létre, és a felhasználó tagsági állapota alapján rendelhetsz hozzáférést a LearnDash-kurzusokhoz. Lásd: [MemberPress integráció](https://hub.hellowp.io/hu/plugins/sfwd-lms/integraciok-memberpress/) és [Restrict Content Pro integráció](https://hub.hellowp.io/hu/plugins/sfwd-lms/integraciok-restrict-content-pro/).

## Fájlok védelme a webszerveren

A LearnDash bizonyos fájlokat a webszerver ezen a könyvtárán tárol:

```text
/wp-content/uploads/learndash
```

Ide kerülnek például az exportált fájlok és más, a rendszer által létrehozott anyagok, amelyeknek nem szabad nyilvánosan elérhetőnek lenniük. A védelem módja a webszerver típusától függ: Apache esetén `.htaccess` fájlt, Nginx esetén a szerver konfigurációs fájljában szabályt használsz. A szerver típusát egyeztesd a tárhelyszolgáltatóddal.

### Apache szerver

Az Apache könyvtárszintű hozzáférés-szabályozást ad a könyvtárba helyezett `.htaccess` fájllal. A beállított szabály megtiltja, hogy a könyvtár fájljait közvetlenül elérjék.

1. Keresd meg a védendő könyvtárat, például: `/wp-content/uploads/learndash`.
2. Hozz létre benne egy `.htaccess` nevű fájlt.
3. Írd bele a következő szabályokat:

```apache
Order Allow,Deny
Deny from all
```

Ezután a könyvtár fájljait a böngészőből közvetlenül nem lehet letölteni vagy megnyitni.

### Nginx szerver

Az Nginx nem használ könyvtáranként `.htaccess` fájlt: a hozzáférési szabályok a központi szerverkonfigurációban vannak, `location` blokkokkal. Egy könyvtár tiltásához a megfelelő konfigurációs fájlba ezek a sorok kellenek:

```nginx
deny all;
return 403;
```

Ez blokkol minden közvetlen elérést, és 403-as (Tiltott) választ ad.

A LearnDash importálási-exportálási funkciója által létrehozott fájlok védelméhez add hozzá ezt a blokkot:

```nginx
location "/wp-content/uploads/learndash/export" {
    deny all;
    return 403;
}
```

Így az exportált LearnDash-fájlok böngészőből közvetlenül nem érhetők el.

## Fájlvédelem és a REST API

A szerveroldali fájlvédelem csak a fájlok közvetlen letöltésére vonatkozik, a LearnDash REST API elérését nem érinti.

- A `.htaccess` és az Nginx szabályai a közvetlen fájlcímeket blokkolják.
- A REST API végpontjai továbbra is elérhetők a `/wp-json/ldlms/v2/` címen.
- Az API elérését a REST-jogosultságok szabályozzák, nem a szerver fájlszabályai.
- A WordPress alkalmazásjelszavakat használó eszközök a REST API-n át azonosítják magukat.

A két védelem egymástól független, ezért a webhely igényei szerint külön-külön állítsd be őket.

## Teendők a szabályok után

- Ha az API elérését korlátozni kell, a REST-jogosultságokat külön vizsgáld meg.
- A szabályok bevezetése után próbáld ki a fájlok elérését, és ellenőrizd, hogy a LearnDash funkciói (például az exportálás letöltése) továbbra is működnek.
