kaxigt.com

Jag skriver om webben för webben

Skydda bilder med .htaccess

Postad: 1 mars 2009 | .htaccess | 2 Comments
Lästid: 2 minuter

Inte vill vi väl att andra ska direktlänka till våra bilder så de stjäl bredbandsvidd av oss?

Nä, jag kunde väl tro det. .htaccess är därför en underbar fil som man bör pyssla om med omsorg. Det bästa är att om du placerar filen i rotkatalogen så kommer den att skydda alla mappar och bilder som ligger inuti rotkatalogen.

Hos de flesta webbhotell är det i just mappen public_html man lägger sitt material. I denna mapp har man ofta andra mappar för bilder, design, eller liknande. .htaccess kommer även att skydda dessa.

Denna post innehåller kod-snippar som du kan använda. Det är alltid bra att ta en backup av din stilmall och funktionsfil innan.

Att använda .htaccess

Som du redan ser på namnet så är det ingen vanlig fil. För det första måste det alltid finnas en liten punkt före namnet htaccess. För det andra ska filen inte sparas som textformat utan som ”alla filer” från rullgardinslistan.

.htaccess är därmed ”dold fil” som arbetar i det tysta. Nu vet jag av erfarenhet att inte alla kan se .htaccess med sin ftp-klient. Jag vill då rekommendera följande ftp-klienter som dessutom är gratis och även visar dolda filer av vad jag minns:

  1. SmartFtp
  2. FileZilla
  3. WS_FTP LE

De som är intresserade kan även skriva sin .htaccess online.

Vis av erfarenheten så brukar jag säga att man alltid bör kopiera sin originalfil och döpa om den så man kan återställa originalkoderna och något blir fel. Ladda därför ned din .htaccess och spara den som .htaccess.txt. Öppna den sedan i din texteditor.

Kopiera in följande koder (tänk på att du kanske redan har andra koder i filen, låt dem vara kvar):

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://din_domän.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^https://www.din_domän.com/.*$ [NC]
ReWriteRule .*\.(gif|jpg|swf|flv|png)$ - [N,F,L]
</IfModule>

Därefter sparar du filen som .htaccess ”ALLA FILER” från rullgardinslistan. Skicka sedan upp den i rotkatalogen public_html. Den ska alltså ligga löst i denna mapp.

Ett alternativ är också att använda en speciell bild som visas istället för den som någon vill direktlänka till. Det blir en ”trevlig” överraskning för tjuven. Du får gärna spara ned bilden om du vill.

<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^https://(www\.)?din_domän.com/.*$ [NC]
RewriteRule \.(gif|jpg|swf|flv|png)$ https://www.din_domän.com/ful_bild.gif [R,L]
</IfModule>

Hotlink