Forhindre deeplinking via .htaccess
Hej Eksperter.Jeg har et webhotel hos DomainDirect som kører med en linux / Apache opsætning.
På serveren kører jeg med en Wordpress-opsætning som har skrevet en .htaccess i roden af mit domain.
Denne ser således ud:
# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress
Jeg har så været lidt rundt på nettet og søge efter et rewrite-module som kan forhindre hotlinking fra mit domæne UDOVER 3 tilladte domæner (websites), som skal have tilladelse hertil.
Jeg er nu, efter en lidt større research kommet frem til at der åbenbart er 2(?) måder at blokere hotlinking på via .htaccess - hvilket gør mig en smule forvirret.
Here goes..
-- EKSEMPEL #1
# Block image hotlinking
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://(www\.)zerocrash\.dk [NC]
RewriteRule \.(gif¦jpe?g)$ - [NC,F]
men andet sted var den omskrevet til denne - som så viser en "advarsel".
-- EKSEMPEL #2
# stop hotlinking and serve alternate content
<IfModule mod_rewrite.c>
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain\.com/.*$ [NC]
RewriteRule .*\.(gif|jpg)$ http://www.domain.com/eatme.jpe [R,NC,L]
</ifModule>
Her står jeg af!
Hvorfor omskrives "RewriteCond %{HTTP_REFERER} ." til "RewriteCond %{HTTP_REFERER} !^$" ?
Nuvel - vi skal videre...
Jeg vil så tillade 3 domains via følgende linier:
# allow linking from the following site
RewriteCond %{HTTP_REFERER} !^http://(www\.)?goodsite1\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?goodsite2\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?goodsite3\.com/.*$ [NC]
Så jeg kan regne ud at min .htaccess skal se ud nogenlunde som følger (efter hvad jeg kan læse mig til):
<IfModule mod_rewrite.c>
RewriteEngine On
# BEGIN WordPress
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php
# END WordPress
#
# BEGIN prevent hotlink
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www\.)?zerocrash\.dk/.*$ [NC]
# END prevent hotlink
#
# allow linking from the following site
RewriteCond %{HTTP_REFERER} !^http://(www\.)?goodsite1\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?goodsite2\.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?goodsite3\.com/.*$ [NC]
# END allow linking from the following site
#
# BEGIN Warning-image
RewriteRule .*\.(gif|jpg)$ http://www.zerocrash.dk/stophotlink.jpg [R,NC,L]
# END Warning-image
</IfModule>
Jeg ved, at da jeg kører via Wordpress og nogle af mine læsere abonnerer via RSS-feeds, vil evt. billeder sikkert blive blokeret - er der nogle der har et tip til, hvordan jeg godkender feeds fra sitet til at indeholde billeder fra sitet?
Jeg har tilføjet kommentarer således at overblikket er lidt nemmere (for mig som nybegynder, at overskue hele opsætningen...)
Har i nogle rettelser til denne opsætning?