Hogyan védjük meg a képeinket a hotlinking ellen?

A hotlinking — vagy közvetlen linkelés — akkor fordul elő, amikor egy harmadik fél weboldala a képeit közvetlenül a szerverükről linkeli. Az eredmény: az ő weboldaluk fogyasztja a sávszélességét, meríti az átviteli kvótát és terheli a szervert, anélkül hogy bármilyen hasznot húzna belőle. 2026-ban a hotlinking továbbra is az egyik legelterjedtebb visszaélés az interneten. Íme az összes módszer a hatékony védekezéshez.

A hotlinking és következményeinek megértése

Amikor egy weboldal egy <img src="https://domainne.com/foto.jpg"> tag segítségével ágyaz be képet a saját oldalain, az Ön szervere válaszol minden egyes oldalbetöltésükre. A gyakorlatban:

  • A sávszélessége egy harmadik fél weboldalának kiszolgálásához kerül felhasználásra
  • A havi átviteli kvótája gyorsabban merül ki
  • A szervere plusz terhelést szenved el a jogsértő oldal minden egyes látogatásakor
  • Olyan képek tárhelyét fizeti, amelyek más weboldalak tartalmát gazdagítják

Szélsőséges esetekben egy nagyon látogatott weboldal, amely a képeit hotlinkeli, szerverterhelést vagy kvótatúllépést okozhat, amely a saját weboldalát elérhetetlenné teheti.

1. módszer: hotlinking blokkolása .htaccess segítségével (Apache)

Ez a legklasszikusabb és leghatékonyabb módszer Apache szervereken. A .htaccess fájl lehetővé teszi minden kérés HTTP Referer fejlécének ellenőrzését — ha a kérés nem az Ön domainjéről érkezik, blokkolva vagy átirányítva lesz.

Adja hozzá ezeket a sorokat a weboldal gyökerében lévő .htaccess fájlhoz:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https?://(www.)?domainne.com [NC]
RewriteRule .(jpg|jpeg|png|gif|webp|svg|avif)$ - [F,L]

Ez a szabály blokkol minden olyan képkérést, amelynek Referere nem az Ön domainje. A [F,L]-t (403-as hiba) lecserélheti egy figyelmeztető képre való átirányításra:

RewriteRule .(jpg|jpeg|png|gif|webp|svg|avif)$ https://domainne.com/no-hotlink.png [R,L]
Tudta? a RewriteCond %{HTTP_REFERER} !^$ feltétel engedélyezi a Referer nélküli kéréseket (közvetlen hozzáférés, könyvjelzők, fejlesztői eszközök). Ha ezeket is blokkolni szeretné, törölje ezt a sort — de vegye figyelembe, hogy ez megakadályozhatja a képek megjelenítését néhány legitim kontextusban, mint például HTML e-mailekben vagy RSS aggregátorokban.

2. módszer: hotlinking blokkolása Nginx segítségével

Nginx szerveren a védelem a konfigurációs fájl server vagy location blokkjában van beállítva:

location ~* .(jpg|jpeg|png|gif|webp|svg|avif)$ {
  valid_referers none blocked domainne.com *.domainne.com;
  if ($invalid_referer) {
    return 403;
  }
}

A valid_referers none blocked direktíva engedélyezi a közvetlen hozzáféréseket (none) és a Referer nélküli kéréseket (blocked). Csak a felsorolt domaineknek engedélyezett a képek beágyazása.

3. módszer: a Referrer-Policy használata

A HTTP Referrer-Policy direktíva azt szabályozza, hogy milyen Referer információk kerülnek elküldésre az Ön webhelyéről érkező kérésekkel. Korlátozó szabályzat beállításával csökkenti a harmadik felek weboldalai számára elérhető információkat — de ez a módszer nem védi aktívan a képeit, csupán korlátozza a webhelye URL-jének terjedését.

Alapvető védelemhez adja hozzá a .htaccess-hez:

Header set Referrer-Policy "same-origin"

4. módszer: CDN-alapú védelem

Ha CDN-en (Cloudflare, AWS CloudFront, Fastly…) tárolja a képeit, a hotlinking elleni védelem általában natívan elérhető az adminisztrációs panelen:

  • Cloudflare: aktiválja a "Hotlink Protection" szabályt az irányítópult Scrape Shield fülén. Automatikusan blokkolja a nem engedélyezett domainekről érkező képkéréseket
  • AWS CloudFront: használjon Lambda@Edge funkciót a Referer fejléc ellenőrzéséhez és a nem engedélyezett kérések blokkolásához
  • Bunny CDN: a hotlinking védelem közvetlenül a tárolási zóna beállításaiban érhető el

A CDN előnye kettős: a védelem a terjesztési hálózat szintjén van kezelve, még mielőtt elérné az eredeti szervert, és az összes eszközre vonatkozik a szerver konfigurációjának módosítása nélkül.

5. módszer: képek rendszeres átnevezése és áthelyezése

Egy kevésbé technikai, de kiegészítő megközelítés a képek URL-jeinek időszakos módosítása. Minden külső közvetlen link azonnal érvénytelen lesz. Ez a megközelítés automatizálható egy átnevezési szkript vagy tartalomkivonat-alapú eszközkezelés segítségével (ahogyan a Webpack vagy Vite natívan teszi CSS és JS fájlok esetén).

6. módszer: ideiglenes hozzáférési tokenek használata

Érzékeny vagy nagy forgalmú képeknél az aláírt URL-ek lejárati idővel történő generálása a legerőteljesebb védelem. Az elv: minden képURL kriptográfiai tokent tartalmaz, amely korlátozott ideig érvényes (1ó, 24ó…). Ezen idő lejárta után az URL már nem érvényes.

  • AWS S3: Presigned URL generálás az AWS SDK-n keresztül
  • Cloudflare R2: aláírt URL-ek konfigurálható lejárati idővel
  • Bunny CDN: URL aláírás titkos kulccsal és időbélyeggel
MódszerNehézségHatékonyságCDN-kompatibilis
.htaccess (Apache)KönnyűRészleges
Nginx konfigurációKözepesRészleges
Natív CDN (Cloudflare…)Nagyon könnyűNagyon jóIgen (natív)
Időszakos átnevezésVáltozóKözepesIgen
Aláírt URL-ek / tokenekHaladóMaximálisIgen
Tudta? egyetlen hotlinking elleni védelem sem teljesen csalhatatlan. Egy elszánt weboldal mindig letöltheti a képeit és újra feltöltheti saját szervereire — ebben az esetben szerzői jogi kérdésről van szó, nem hotlinkingről. A .htaccess vagy CDN általi védelem a visszaélések túlnyomó többségét lefedi és elegendő a sávszélesség napi szintű védelméhez.