vBulletin Search Engine Optimization
|
This is a discussion on Hotlink Protection Tutorial (Apache Server - .htaccess files) within the Member Articles forums, part of the Focus on Members category; What is hotlinking and bandwidth theft? Bandwidth theft or "hotlinking" is direct linking to a web site's files (images, video, ...
| |||||||
|
#1
| |||||
| |||||
| What is hotlinking and bandwidth theft? Bandwidth theft or "hotlinking" is direct linking to a web site's files (images, video, etc.). An example would be using an <img> tag to display a JPEG image you found on someone else's web page so it will appear on your own site, eBay auction listing, weblog, forum message post, etc. Bandwidth refers to the amount of data transferred from a web site to a user's computer. When you view a web page, you are using that site's bandwidth to display the files. Since web hosts charge based on the amount of data transferred, bandwidth is an issue. If a site is over its monthly bandwidth, it's billed for the extra data or taken offline. A simple analogy for bandwidth theft: Imagine a random stranger plugging into your electrical outlets, using your electricity without your consent, and you paying for it. How Do I know I am hotlinking? This is how you might display an image graphic file in the HTML on your own web page: HTML Code: <img src="image.jpg" height="350" width="200"> HTML Code: <img src="http://notmysite.com/image.jpg" height="350" width="200"> Why should I stop hotlinking? Hotlinking can have a lot of undesirable consequences. One is the so-called "switcheroo". If you've linked to an image on someone's server, what's to prevent them from changing the image you linked to? This can have humorous results. Since most sites, forums, etc. have strict policies about offensive images, it wouldn't take much for an aggravated webmaster you've been stealing bandwidth from to shut you down completely with an unwanted "switcheroo". Displaying an image or file that doesn't belong to could be a violation of copyright, making you open to litigation. The owner of the file could utilize DMCA law to have your site shut down and your information given for use in legal proceedings. How can I test to see if my image can be hotlinked? Use our URL hotlink checker below to check the hotlinking protection (such as an htaccess file) on your web site. Enter the complete URL below (ex: http://mysite.com/image.jpg) to see if your image can be loaded and hotlinked by an outside server. Click to go to the Resource & Test Page ****************************************** ****************************************** ****************************************** Following text may not be an ultra professional experience but i've been using these techniques for 2 years and they are working great for me. I've been running two dedicated servers and i've full control over them (my .htaccess file lines included in my httpd.conf file). If your hosting is shared and got some restrictions to use .htaccess files on your account, you should contact your hosting company first to enable them. Notice: .htaccess files can only be used by Apache web servers and they will not work on a windows system. Hotlink Protection Enabled .htaccess File Tutorial -Create a new TXT file named *'sample.htaccess' and open it with your text editor (NotePad). *Windows users won't be able to create it as '.htaccess' so you have to rename 'sample.htaccess' to '.htaccess' after it's been uploaded to your server. -Copy and paste the following lines to 'sample.htaccess' file: Quote:
-Upload 'sample.htaccess' file to your web server's root and rename it to '.htaccess'. Read the following text to figure out how to customize your own .htaccess file. RewriteCond %{HTTP_REFERER} !^$ = Allow direct requests (ie. entering the url to an image in your browser). People can't publish your image files at their own web pages but they still can view them by entering their url in the browser window. These images can also be viewed (shared) by clicking on their urls in Instant Messenger windows. [NC] = "No Case", meaning match the url regardless of being in upper or lower case letters. [R] = Redirect *(jpg|jpeg|gif|png|bmp|swf) = Files to block I used to redirect blocked files to a custom .jpe image file. If you prefer this option, you should use the following .htaccess file: Quote:
My .htaccess file: Quote:
First piece of lines got RewriteCond %{HTTP_REFERER} !^$ line as i don't want people to be able to access those kind of files directly. (The protection for the image files doesn't have that line) If you don't want a redirection for (mp3|mpeg|mpg|ram|rm|wma|wav|asx|wmv|avi|mov|zip|r ar|exe), you can use replace that line with the following display your Error Code 404 page: Quote:
.htaccess files effect the folder it's in and all of the subfolders. If you want to exclude a subfolder from the hotlink protection, create another .htaccess file with the lines below and upload it to that directory: Quote:
Feel free to reply this thread if i made some mistakes This tutorial is written by NeutralizeR @ MsXLabs Organization Original Thread
__________________ MsXLabs MK Last edited by NeutralizeR; 07-26-2006 at 04:49 PM. |
|
#2
| ||||
| ||||
|
Excellent tutorial. Thanks for the contribution
__________________ Juan Muriente / Crawlability Inc. vBSEO Styles: Version 1.0 PRO For Everyone Version 2.0 For vBSEO Customers vBSEO 3.3.0 Gold Released with New "Virtual HTML Display" Feature Available for Download Now 6X Traffic - $1400 in One Day with vBSEO! Max Out Your SEO |
|
#3
| ||||
| ||||
|
Good written and good hint, but: Don't forget that every mod_rewrite statement -especially ENV lookups- is causing the server's load to rise. So I'd prefer to disable cross-linking via PHP code, see sample for vb2, which almost works the same way for vB3. |
|
#4
| ||||
| ||||
| Quote:
I've tons of zipped archives, animated gif images and swf files uploaded to my web server...they can be viewed via non-vbulletin pages and it's why i prefer this method. Example page: Windows Live Messenger Göz Kırpmaları - MSN Göz Kırpmalar - MSN Göz Kırpmaları - Messenger Göz Kırpmaları - Winks - www.MsXLabs.org |
|
#5
| ||||
| ||||
|
This image is located in a hotlink protected directory: ------- > It must be broken here. (Hotlink protected with forum home redirection)This line allows it to be viewed by an empty referrer: Quote:
http://www.msxlabs.org/images/acting...sxlabs.com.gif Once it's cached by your browser, you can view the image above in this post, too. I used to redirect hotlink protected image files to a small gif file which was located in a non-hotlink protected directory: ![]() Non-image files are always being redirected to my forum homepage. |
|
#6
| |||
| |||
|
I use the following, in the .htaccess in the root of my site, to show leech.gif in place of any hotlinked images/files: Code: RewriteCond %{HTTP_REFERER} !^$
RewriteCond %{HTTP_REFERER} !^http://.*fireblades\.org.*$ [NC]
RewriteCond %{HTTP_REFERER} !^https://.*fireblades\.org.*$ [NC]
RewriteCond %{REQUEST_URI} !^.*leech\.gif$ [NC]
RewriteRule ^.*\.(swf|bmp|gif|jpg|jpe|jepg|png|jpeg|avi|wmv|mpg|mpeg|wav|mp3)$ http://www.fireblades.org/images/leech.gif [NC,R,L]
Code: RewriteCond %{REQUEST_URI} !^.*leech\.gif$ [NC]
|
|
#7
| |||
| |||
|
I just have a quick question about your .htaccess file. you re-wrote the same conditions for each RewriteRule. Is that neccessary? Quote:
|
|
#8
| ||||
| ||||
|
#9
| ||||
| ||||
| Quote:
I'm using the method below at the moment (in my httpd.conf file): Quote:
|
|
#10
| |||
| |||
|
Just great and very informative useful read. I used to block hotlinking by cpanel. Now I know more about .htaccess can do. Thank you
|
|
#11
| ||||
| ||||
|
I know i am bumping this topic but it's probably the best place to get an answer. I have a folder named files on my server that i use it to store the downloads and i have this htaccess Code: RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?3dacc.net/(/)?.*$ [NC]
RewriteRule .*\.(gif|jpg|jpeg|png|zip|exe|rar)$ http://www.3dacc.net/list.php?c=files [R,NC]
Options -Indexes
I tried this but it only sends the extension of the file, how can i pass the whole filename ? Code: RewriteRule .*\.(gif|jpg|jpeg|png|zip|exe|rar)$ http://www.3dacc.net/list.php?c=files&file=$1 [R,NC] |
|
#12
| ||||
| ||||
|
You should change it to: Code: RewriteRule (.*\.(gif|jpg|jpeg|png|zip|exe|rar))$ http://www.3dacc.net/list.php?c=files&file=$1 [R,NC]
__________________ Oleg Ignatiuk / Crawlability Inc. vBSEO Styles: Version 1.0 PRO For Everyone Version 2.0 For vBSEO Customers vBSEO 3.3.0 Gold Released with New "Virtual HTML Display" Feature Available for Download Now 6X Traffic - $1400 in One Day with vBSEO! Max Out Your SEO |
|
#13
| ||||
| ||||
| Quote:
|
|
#14
| |||
| |||
|
In which conditions this technique creates problems for legitimate users ? I read some where that people behind firewalls or proxies might have trouble accessing the protected images. Welll .... a lot of people are behind firewalls these days. Perhaps other webmasters can comment on what issues they faced when implementing hotlink protection. |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Thread Starter | Forum | Replies | Last Post |
| .htaccess for hotlink protection | Mert Gökçeimam | General Discussion | 7 | 03-06-2007 09:28 PM |
| .htaccess files | Nakkers | General Discussion | 1 | 05-22-2006 06:18 PM |
| Suggestion for a server problem | Mert Gökçeimam | Off-Topic & Chit Chat | 1 | 05-03-2006 11:23 AM |
| Version works only with apache server... | xb_ | Bug Reporting | 1 | 09-23-2005 07:46 PM |