Avatar billede zerocrash Nybegynder
12. oktober 2007 - 23:44 Der er 2 kommentarer og
1 løsning

Rewrite-module og Deeplinking

Hej Eksperter.

Jeg håber der er en her, der kan hjælpe mig lidt på vej med et rewrite-module som skal forhindre deeplinking af billeder på min server.

Jeg er hosted hos DomainDirect på en shared hosting server. Men da jeg kører med Wordpress på mit website har jeg en rewrite-module i forvejen i et .htaccess.

Nu er spørgsmålet hvilket af disse 2 eksempler der ville være bedst egnet som "modværn" til deeplinkerne...

Min .htaccess ser således ud i øjeblikket:

-- HTACCESS

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

-- Eksempel 1

RewriteEngine on
#
# Block all referrals from these domains (and all of their subdomains)
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*site-one\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*site-two\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*site-three\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*site-four\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*site-five\.org [NC]
RewriteRule !403\.shtml$ - [F]
#
# Block image hotlinking
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://(www\.)?my-site\.com [NC]
RewriteRule \.(gif¦jpe?g)$ - [NC,F]

-- eksempel 2

#allow users coming from friendly sites
RewriteCond %{HTTP_REFERER} !^http://(www.|)yourdomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.|)seconddomain.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.|)someone.org/~noob.*$ [NC]
#
#otherwise, send warning
RewriteRule .*\.(jpg|gif|png|bmp)$ http://etv.cx/yousuckandthatssad.gif

-- END

Jeg havde tænkt på, at kombinerer disse 2 eksempler, men er i tvivl om resultatet af det. Vil en "allow"-rule komme i konflikt med en "disallow"-rule?

Det jeg havde tænkt mig, var at få min .htaccess til at se således ud:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
#
# Block all referrals from these domains (and all of their subdomains)
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*site-one\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*site-two\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*site-three\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*site-four\.com [NC,OR]
RewriteCond %{HTTP_REFERER} ^http://([^.]+\.)*site-five\.org [NC]
RewriteRule !403\.shtml$ - [F]
#
#allow users coming from friendly sites
RewriteCond %{HTTP_REFERER} !^http://(www.|)site1.dk/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.|)sit2.dk/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www.|)site3.dk/.*$ [NC]
#
# Block image hotlinking
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://(www\.)?zerocrash\.dk [NC]
RewriteRule \.(gif¦jpe?g)$ - [NC,F]
</IfModule>

--- Jeg ved ikke om jeg får et fatalt resultat ud af, at kombinere disse 2 på denne måde - så jeg håber på, at i vil rette i reglerne såfremt dette rsulterer i noget bøvl.

På forhånd tak
Avatar billede zerocrash Nybegynder
12. oktober 2007 - 23:47 #1
jeg opdagede lige en tastefejl... Meningen var at få scriptet til, at blokerer ALT deeplinking UDOVER DE 3 listede sites!

Så jeg regnede med at det skulle se SÅLEDES UD:

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
# END WordPress
#
#allow users coming from friendly sites
RewriteCond %{HTTP_REFERER} !^www.|)site1.dk/.*$" target="_blank">http://(www.|)site1.dk/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^www.|)sit2.dk/.*$" target="_blank">http://(www.|)sit2.dk/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^www.|)site3.dk/.*$" target="_blank">http://(www.|)site3.dk/.*$ [NC]
#otherwise, send warning
RewriteRule .*\.(jpe?g|gif|png|bmp)$ http://etv.cx/yousuckandthatssad.gif
#
# Block image hotlinking
RewriteCond %{HTTP_REFERER} .
RewriteCond %{HTTP_REFERER} !^http://(www\.)?zerocrash\.dk [NC]
RewriteRule \.(gif¦jpe?g)$ - [NC,F]
</IfModule>

Men er DETTE eksempel forkert?
Avatar billede zerocrash Nybegynder
12. oktober 2007 - 23:49 #2
... det kører ikke helt...

Jeg har ingen anelse om hvor "target="_blank"> kommer fra...

Please... hjælp! *GG*
Avatar billede zerocrash Nybegynder
13. oktober 2007 - 01:01 #3
Jeg lukker - genopretter et nyt spm istedet.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Uanset kodesprog, så giver vi dig mulighederne for at udvikle det, du behøver.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester