Thread: .htaccess help
View Single Post
Old 01-03-2005, 10:37 PM  
Workshop_Willy
Confirmed User
 
Join Date: Oct 2004
Location: Southern California
Posts: 452
Quote:
Originally Posted by StuBradley
I noticed that in the member's area of Amateur-Facials.com you cannot download their video clips (when you right-click and "Save as" you get a generic .html page) I looked at their source code and couldn't find anything different about their links and didn't see any java scripts. I'm thinking that it must be something in the .htaccess file that prevents the saving of certain file types (kind of like hotlink protection). Any ideas how this is done?

Well I don't know how this is being done by those guys, but here's one of the tools I've always used to stop hotlinkers:

RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http://www.mydomain.com/ [NC] [OR]
RewriteCond %{HTTP_REFERER} !^http://mydomain.com/ [NC] [OR]
RewriteCond %{HTTP_REFERER} !^http://www.anotherOKdomain.com/ [NC] [OR]
RewriteCond %{HTTP_REFERER} !^http://anotherOKdomain.com/ [NC] [AND]
RewriteCond %{REQUEST_FILENAME} ^.+jpg [NC]
RewriteRule /* URL.gif

Translation:
"If the referring URL does not contain "http://blah.blah.blah" [OR]
"http://blah.blah" (etc etc) [AND]
The requested filename ends in ".jpg"
Give them this instead (in this case, a handy little cute GIF file advertising your paysite).

Pretty part: The URL window of the browser or any requesting client reports that it's giving you the ".jpg" that you asked for.


You can add conditionals to this, for instance, by adding:
RewriteCond %{REQUEST_FILENAME} ^.+jpg [OR]
RewriteCond %{REQUEST_FILENAME} ^.+mpg [NC]

You get the point. This snippet is intended to keep people from hotlinking (for instance, from those DAMNABLE Chinese BBS's. It doesn't prevent your legitimate members from using an automatic download tool, although you can make some tweaks combined with some php or dhtml code to prevent that as well.

This htaccess code (you can simply add it to anything you already have in htaccess or use it by itself) goes into the directory you want to protect, along with whatever replacement file you want to send the hotlinker. This is just a basic framework. Once you understand the logic of the code, you can use proper syntax to make it pretty elaborate.
Workshop_Willy is offline   Share thread on Digg Share thread on Twitter Share thread on Reddit Share thread on Facebook Reply With Quote