Article Diary - General Knowledge Digest

Prevent hotlinking with a .htaccess file

Hotlinking refers to linking directly to non-html objects on other servers, such as images, movie files etc. This can greatly impact bandwidth usage, and in some cases GPUs if you are on the (gs) Grid-Service. You can prevent these requests on your server using a .htaccess file.

If you already have an .htaccess file simply add one of these two snippets of code to your existing file, or create a new plain text document with this code and upload it to your domains directory, or a particular sub directory to localize the effect to just one of your sites, or section of one of these sites:

To simply stop hotlinking you can add the following to your .htaccess file:

Replace on line 3 with your own domain name.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?*$ [NC]
RewriteRule .(gif|jpg|jpeg|bmp|zip|rar|mp3|flv|swf|xml|php|png|css|pdf)$ - [F]

To serve alternate content when hotlinking is detected:

You can set up your .htaccess file to actually display different content when hotlinking is attempted. This is more commonly done with images suggesting your displeasure of this activity, such as serving up an "Angry Man" image in place of the hotlinked one. Once again replace on lines 3 and 4 with your own domain name.

RewriteEngine on
RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://(www.)?*$ [NC]
RewriteRule .(gif|jpg)$ [R,L]
3.8 (5)
Article Rating (5 Votes)
Rate this article
Attached Files
There are no attachments for this article.
Comments (1)
Comment by Rahul Ghatotkach on Thu, Oct 8th, 2009 at 12:55 PM
Its is very helping article here about Preventing hotlinking with a .htaccess file. Keep it up. Its is nice one.
Security Code Security Code
Related Articles RSS Feed
How to password protect folder/files using htaccess file?
Viewed 1157 times since Sun, Mar 14, 2010
Axiis - Open Source Data Visualization Framework
Viewed 1433 times since Thu, Jan 7, 2010
jQuery MultiSelect Plugin with ThemeRoller Support
Viewed 2185 times since Thu, Feb 4, 2010
8 Basics of Regular Expressions
Viewed 1132 times since Mon, Mar 8, 2010
30 High Quality Charts & Graphs for Web Developers
Viewed 3255 times since Wed, Mar 23, 2011
How to change default web page using htaccess?
Viewed 1474 times since Sun, Mar 14, 2010
TinyBox - JavaScript Lightweight Modal Window Popup Script
Viewed 1768 times since Fri, Jan 8, 2010
jQuery Slider from a Select Element
Viewed 2684 times since Thu, Jan 14, 2010
Quick Tables for Showing & Updating DB Data
Viewed 1286 times since Sun, Dec 27, 2009
OpenCart - Open Source Shopping Cart
Viewed 1582 times since Fri, Jan 1, 2010