Hoe Hotlinking van afbeeldingen te voorkomen met het .htaccess bestand

  • Berichtcategorie:Beveiliging
  • Leestijd:6 minuten gelezen

In dit artikel: Hoe Hotlinking van afbeeldingen te voorkomen met het .htaccess bestand?

Hotlinking van afbeeldingen is een veelvoorkomend probleem op het internet, waarbij externe websites direct linken naar afbeeldingen op jouw server zonder toestemming. Dit kan leiden tot onnodig dataverkeer en hogere hostingkosten voor de eigenaar van de afbeeldingen. In dit artikel bespreken we hoe je hotlinking kunt voorkomen door een code toe te voegen aan het .htaccess-bestand op je server, het belang van het maken van een back-up van dit bestand voordat je wijzigingen aanbrengt, hoe je de code correct installeert en hoe je kunt testen of de bescherming werkt.

Het belang van een Back-up

Voordat je wijzigingen aanbrengt aan je .htaccess-bestand, is het cruciaal om een back-up te maken. Het .htaccess-bestand is een krachtig configuratiebestand dat het gedrag van je server kan beïnvloeden. Een kleine fout kan ervoor zorgen dat je website onbereikbaar wordt. Door een back-up te maken, zorg je ervoor dat je snel terug kunt naar een werkende staat als er iets misgaat.

Het Voorkomen van Hotlinking van afbeeldingen

Om hotlinking te voorkomen, kun je specifieke regels toevoegen aan je .htaccess-bestand die externe toegang tot je afbeeldingen beperken. Hieronder is een voorbeeld van hoe je dit kunt doen:

  1. Open het .htaccess-bestand in de root directory van je website met een teksteditor.
  2. Voeg de volgende code toe aan het bestand:

Let op deze code is voor het voorvoegsel www.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?jouwdomein.nl [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?jouwtoegestanedomein.nl [NC]
RewriteRule \.(gif|jpg|jpeg|bmp|zip|rar|mp3|flv|swf|xml|php|png|css|pdf)$ - [NC,F,L]

Let op deze code is voor een niet www. voorvoegsel:

RewriteEngine on

# Omleiden van www naar non-www
RewriteCond %{HTTP_HOST} ^www\.(jouwdomein\.nl) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

# Voorkomen van hotlinking van afbeeldingen
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?jouwdomein.nl [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?jouwtoegestanedomein.nl [NC]
RewriteRule \.(gif|jpg|jpeg|bmp|zip|rar|mp3|flv|swf|xml|php|png|css|pdf)$ - [NC,F,L]

Let op gebruik deze code voor een www. voorvoegsel als je social media wel wil toestaan

# BEGIN Voorkomen van hotlinking van afbeeldingen en laat vermelde domeinnamen van social media toe
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?jouwdomein.nl [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?facebook.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?twitter.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]
# END Voorkomen van hotlinking van afbeeldingen en laat vermelde domeinnamen van social media toe

Let op deze code is voor een niet www. voorvoegsel:

# Omleiden van www naar non-www
RewriteCond %{HTTP_HOST} ^www\.(jouwdomein\.nl) [NC]
RewriteRule ^(.*)$ http://%1/$1 [R=301,L]

# Voorkomen van hotlinking van afbeeldingen en laat vermelde domeinnamen van social media toe
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?jouwdomein.nl [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?google.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?facebook.com [NC]
RewriteCond %{HTTP_REFERER} !^http(s)?://(www\.)?twitter.com [NC]
RewriteRule \.(jpg|jpeg|png|gif)$ - [F]

Deze code zorgt ervoor dat alleen verzoeken die afkomstig zijn van jouwdomein.nl of een ander domein dat je wilt toestaan (jouwtoegestanedomein.nl in dit voorbeeld), toegang krijgen tot afbeeldingen:
(.jpg, .jpeg, .png, .gif). Alle andere verzoeken worden geblokkeerd. Verandert de URL in jouw toegestane domeinen.

3. Sla het bestand op en upload het naar je server als je wijzigingen lokaal hebt aangebracht.

Testen of de bescherming werkt

Nadat je de wijzigingen hebt doorgevoerd, is het belangrijk om te testen of de hotlink-bescherming werkt. Dit kun je doen door:

  • Een externe website te proberen opzetten (of een bestaande te gebruiken) die probeert een afbeelding van jouw site te hotlinken.
  • De URL van de gehotlinkte afbeelding direct in de browser in te voeren vanaf een niet-toegestaan domein.

Als de bescherming correct is geïnstalleerd, zou de afbeelding niet moeten laden op de externe website of bij directe toegang vanaf een niet-toegestaan domein.

En tot slot:

Het voorkomen van hotlinking is een essentiële stap om de controle over je online bronnen te behouden en onnodige kosten te vermijden. Door de bovenstaande stappen te volgen, kun je effectief hotlinking tegengaan. Vergeet niet altijd een back-up te maken van je .htaccess-bestand voordat je wijzigingen aanbrengt, zodat je snel kunt herstellen van eventuele fouten.