Forum Moderators: phranque

Message Too Old, No Replies

SetEnvIfNoCase to avoid hot links

Ban hot links with no mod_rewrite mode

         

Maleville

12:31 am on Mar 2, 2004 (gmt 0)

10+ Year Member



Hello.

I got a site where mod_rewrite is not enable. Starting from a precedent script on an other site where I used mod_rewrite, I wrote this code to ban hot links with my images. Is this code correct?

SetEnvIfNoCase Referer "^$" linked=1
SetEnvIfNoCase Referer "^http://(www\.)?mydomain\.com/.*$" linked=1
SetEnvIfNoCase Referer "^http://(www\.)?myotherdomain\.net/.*$" linked=1
SetEnvIfNoCase Referer "^http://216\.239\.(3[2-9]¦[4-5][0-9]¦6[0-3])\..*(www\.)?mydomain\.com/" linked=1
SetEnvIfNoCase Referer "^http://216\.239\.(3[2-9]¦[4-5][0-9]¦6[0-3])\..*(www\.)?myotherdomain\.net/" linked=1
SetEnvIfNoCase Referer "^http://babel\.altavista\.com/.*(www\.)?mydomain\.com/" linked=1
SetEnvIfNoCase Referer "^http://babel\.altavista\.com/.*(www\.)?myotherdomain\.net/" linked=1
<FilesMatch "\.(gif¦ico¦jpg¦jpeg¦bmp¦wmf¦mid¦rmi¦rm¦ram¦au¦wav¦art¦img)$">
Order Allow,Deny
Allow from env=linked
</FilesMatch>

jdMorgan

1:28 am on Mar 2, 2004 (gmt 0)

WebmasterWorld Senior Member 10+ Year Member



Maleville,

Your code looks OK to me...

You don't need ".*$" at the end of your patterns, since it is redundant. For example, you can write

 SetEnvIfNoCase Referer "^http://(www\.)?mydomain\.com/.*$" linked=1 

as
 SetEnvIfNoCase Referer "^http://(www\.)?mydomain\.com/" linked=1 

without changing the behaviour at all.

Jim

Maleville

12:05 am on Mar 3, 2004 (gmt 0)

10+ Year Member



Thank you very much, Jim.