Preventing People From Leeching Your Images!
This tutorial will demonstrate how you can prevent other people from displaying YOUR images on their websites.
By this I mean people actually loading images on their site, from your website. This is a big problem is it will increase the bandwidth used on your account and therefore increasing your expenses. Many of you have seen the same thing in you use AngelFire free hosting. If you have an account with them and you want to display your image:

Now, unless the image is being called from within the AngelFire system, you get an ugly image saying "We're sorry, this image is hosted by AngelFire". Creating a system that does this is fairly easy in ColdFusion. Let me show you how it's done.
Now before I get to the explanation, some of you might be saying, wait a minute.. what do you mean? I've never used AngelFire...
So, I'll explain by showing, in the past when you wanted to display your images you used the standard:
The problem with this is that people would view your source or right click on the image and see the direct path to your image. This could be a problem, specially if you don't want your image to be displayed on other places by having it be loaded from your server. Anyone out there could simply use:
This could cost you lots of money, specially if it's a very popular image :)
Your alternative? This tutorial...
You can now load your images as follows:
Pretty nifty, huh? ok, let me explain what you must do to achieve this... the first thing we need to do is to create a file called: load_image.cfm
<!--- File load_image.cfm --->
<!--- First define the PHYSICAL path to the images --->
<cfset images_path = "C:\inetpub\wwwroot\mysite.com\images\" />
The image path above will be where all the images are stored, the beauty of this script is that the images can even be in a folder that is NOT internet accessible.
<!--- The next thing we do is verify that the image is being loaded from our site, and not someone else's --->
<cfif NOT CGI.REFERER contains "mysite.com">
<!--- Someone is trying to load this image from another place, stop them! --->
<!--- The first thing we MUST do is load the smaller/error message file --->
<cfcontent type="image/gif" file="#images_path#noleech.gif" />
<cfelse>
<!--- image is good, server the content --->
<cfif Right(Image, 3) eq "gif">
<cfcontent type="image/gif" file="#images_path##Image#" />
<cfelseif Right(Image, 3) eq "jpg">
<cfcontent type="image/jpg" file="#images_path##Image#" />
</cfif>
</cfif>
OK, what the code above is doing is basically this:
- First, check to make sure that the image being called is coming from YOUR site and not someone else's.
- If the call IS coming from your site, then it loads the image required and servers it to the calling web page.
- If the call IS NOT coming from your site, it will load a different (SMALLER) image, therefore saving you bandwidth and not allowing that individual to load the image from their site.
- The next thing is does is basically output the image. So that the page calling it will display it correctly.
Now on the pages you want the images to display you basically do this:
this will ONLY work if it is being loaded from your web site, so if people view the source on the page, they will see this and not the actual path to the image itself.
NOTE: If you don't have an image to display when people are trying to steal your content, try this one:

To save right-click on it and save to your computer.
<!---
Notice that this image is being served as follows:
http://66.92.207.195/load_image.cfm?Image=noleech.gif
--->
Need Another possible use for this tutorial?
Maybe if some of you want to know how many times an image was loaded. You could use this script to implement a counter system for your images. Remember that you have a .CFM page loading the image, so you could do anything you wanted right before serving the image. :-)
Well, That's pretty much it... Remember, this script will NOT stop people from downloading the images to their hard drives (That's pretty much impossible) but by hiding the paths to your images, people cannot load your images on their sites, using your bandwidth.
Questions? Comments? Email Me...
-
Inserting data into a database
This tutorial will show you how to insert data into a database, then have that information emailed to you and the person submitting the data.
Author: Pablo Varando
Views: 56,042
Posted Date: Thursday, August 1, 2002
-
Retrieving Records From a Database..
This is the basics of ColdFusion. This tutorial will demonstrate how to query a database and then display the records found.
Author: Pablo Varando
Views: 49,195
Posted Date: Saturday, August 3, 2002
-
Having Your Database Do The Work… not ColdFusion!
This tutorial will demonstrate how you can use the functions that come built in on your database to do the work, instead of doing the work in your code the hard way!
Author: Pablo Varando
Views: 44,003
Posted Date: Thursday, August 8, 2002
-
A Simple Contact Us Page….
Learn how to create a contact page in ColdFusion.
Author: Pablo Varando
Views: 54,243
Posted Date: Tuesday, August 13, 2002
-
DSNLess Coldfusion?
Learn how to create database connection, by skipping the old ODBC connections with ColdFusion.
Author: Pablo Varando
Views: 40,905
Posted Date: Friday, August 16, 2002
-
Creating a user athentication (Login) area.
This tutorial will demonstrate how you can create a "member's only" area. It will show you how to log them in and how to check that they are logged in.
Author: Pablo Varando
Views: 114,161
Posted Date: Monday, August 19, 2002
-
User Defined Functions....
Learn how to use User-Defined Functions in ColdFusion 5.0.
Author: Pablo Varando
Views: 33,376
Posted Date: Wednesday, August 21, 2002
-
Count Active Users On Your Site.
Have you ever wanted to display a count of how many people are on your web site at any given moment? This tutorial will demonstrate to you how to achieve just that. It will count your web site's active sessions and allow you to display them to your visitors.
Author: Pablo Varando
Views: 48,400
Posted Date: Sunday, August 25, 2002
-
Creating a Newsletter System....
This tutorial will show you how to create a fully automated system to allow visitors to subscribe and unsubscribe to your newsletter, and for administrators to send out a newsletter to all the registered users.
Author: Pablo Varando
Views: 46,580
Posted Date: Friday, September 6, 2002
-
A brief demonstration of Fusebox 2.0
This is a brief demonstration on how to use Fusebox 2.0 Methodology.
Author: Pablo Varando
Views: 36,531
Posted Date: Friday, September 6, 2002
-
A quick intro into the world of Custom Tags!
The following tutorial will briefly touch over Custom Tags and show you what they are, how you use them, and how they benfit you by using them.
Author: Pablo Varando
Views: 38,433
Posted Date: Friday, September 6, 2002
-
Using Query String Values....
This tutorial will demonstrate how to use query string values instead of form values.
Author: Pablo Varando
Views: 57,938
Posted Date: Sunday, September 15, 2002
-
Previous / Next n Records
This tutorial demonstrate how to implement "Previous" & "Next" into your existing results page.
Author: Pablo Varando
Views: 52,667
Posted Date: Tuesday, September 17, 2002
-
Alternating Row Colors!
This tutorial will demonstrate how to alternate row colors when outputing your data.
Author: Pablo Varando
Views: 61,343
Posted Date: Tuesday, September 17, 2002
-
Using PayPal's IPN with ColdFusion!
This tutorial will demonstrate how to implement the PayPal IPN (Instant Payment Notification) into your e-commerce applications to accept credit cards in real time!
Author: Pablo Varando
Views: 92,048
Posted Date: Wednesday, September 25, 2002
-
Clearing your session variables!
This tutorial will demonstrate how to clear your applications sessions variables with just three lines of code!
Author: Pablo Varando
Views: 51,520
Posted Date: Friday, October 4, 2002
-
ColdFusion and .INI Files!
This tutorial will demonstrate how to use .INI files with ColdFusion. Perfect for users wishing to create administration areas for existing software titles that are INI file driven (i.e. FTP Servers).
Author: Pablo Varando
Views: 38,692
Posted Date: Friday, October 4, 2002
-
Sending multiple attachments with CFMAIL!
This tutorial will demonstrate how to send out multiple attachments with .
Author: Pablo Varando
Views: 57,944
Posted Date: Friday, October 11, 2002
-
Creating, Altering and Deleting database tables with ColdFusion.
This tutorial will show you how to create, modify and delete database tables easily with ColdFusion.
Author: Pablo Varando
Views: 45,368
Posted Date: Monday, October 14, 2002
-
Inserting FORM data into multiple database tables!
This tutorial will demonstrate how you can use one form a user fills out to insert into multiple database tables.
Author: Pablo Varando
Views: 38,013
Posted Date: Tuesday, October 15, 2002
-
Implementing FORM Error Checking On Your Pages!
This tutorial will show you two two ways you can implement error checking, to ensure that your users are actually entering the required fields on your forms!
Author: Pablo Varando
Views: 35,796
Posted Date: Wednesday, October 16, 2002
-
Using Arrays in ColdFusion To Properly Display Data....
This tutorial will show you how to use arrays to display data properly in ColdFusion.
Author: Pablo Varando
Views: 43,089
Posted Date: Monday, October 28, 2002
-
Automatically Adding Smiles To Your Messages!
This tutorial will show you how you can add smiles to your messages on the fly!
Author: Pablo Varando
Views: 35,823
Posted Date: Tuesday, October 29, 2002
-
Reading your IIS Log Files with ColdFusion!
This tutorial will show you how you can parse through your IIS (web server) log files and insert the values into a database, therefore allowin you to display real-time stats to your visitors (i.e hits this week, etc..)
Author: Pablo Varando
Views: 45,461
Posted Date: Monday, November 4, 2002
-
Using CFRegistry to Add Your IP To CF Debug IP List!
This tutorial is intended to show you how to use the ColdFusion tag <CFRegistry>. This tutorial will show you how to add your current IP to the IP Debug List in the ColdFusion Administrator.
Author: Pablo Varando
Views: 49,516
Posted Date: Wednesday, November 6, 2002
-
Using <CFPOP> and creating an email client for POP3 Email Reading!
This tutorial will show you how to create a mail system for your site. It will allow you to get your email from a POP3 server, view your inbox, then view the message (with attachments), reply and delete that message as well.
Author: Pablo Varando
Views: 49,747
Posted Date: Thursday, November 7, 2002
-
Print your web pages on the fly!
This tutorial will demonstrate how use ColdFusion, Javascript and Style sheets to create the perfect Printing Machine! ;)
Author: Pablo Varando
Views: 40,539
Posted Date: Sunday, December 15, 2002
-
Creating an ODBC Connection within ColdFusion MX Server...
This tutorial will show you how to create an ODBC (Database) connection from within your ColdFusion MX Administration Area.
Author: Pablo Varando
Views: 51,201
Posted Date: Monday, January 6, 2003
-
CaSe SensitiVe password logins!
This tutorial will demonstrate how to verify users passwords to be CaSe SensiTive so add another layer of security to your applications!
Author: Pablo Varando
Views: 75,059
Posted Date: Wednesday, February 5, 2003
-
Combining two queries into one..
This tutorial will demonstrate how to create a query from two different queries based from two separate datasources. This is the easiest way to combine your data.
Author: Pablo Varando
Views: 39,156
Posted Date: Monday, March 10, 2003
-
Preventing People From Leeching Your Images!
This tutorial will show you how to load your images from an actual .cfm page. Therefore, allowing you to prevent people from using your content on their web sites.
Author: Pablo Varando
Views: 47,771
Posted Date: Saturday, August 28, 2010
-
Get A Folder Size Using ColdFusion and FSO...
This tutorial will demonstrate how you can get the size of a folder (and sub folders) using ColdFusion and Windows File System Object (FSO).
Author: Pablo Varando
Views: 37,614
Posted Date: Tuesday, April 8, 2003
-
Do you want to remember your members?
This tutorial will show you how to you can provide your members with the ability to save their username and password into memory, so they dont have to type it in everytime the want to log in to your web site.
Author: Pablo Varando
Views: 39,385
Posted Date: Tuesday, May 13, 2003
-
Delete Records From Your Database With ColdFusion!
This tutorial will demonstrate how to delete records from a database via your website using ColdFusion.
Author: Pablo Varando
Views: 42,175
Posted Date: Friday, July 4, 2003
-
Creating a file content crawler with ColdFusion....
This tutorial will show you how to make a file content crawler with ColdFusion to find specified documents in a folder and its children folders. (Similar to find files or folder in Windows(c) Operating Systems 'find' feature).
Author: Pablo Varando
Views: 50,171
Posted Date: Saturday, July 19, 2003
-
What is the ID for the record I just inserted?
This tutorial will demonstrate how you can get the ID of the record you have just inserted without having to connect to the database again!
Author: Pablo Varando
Views: 37,612
Posted Date: Monday, August 11, 2003
-
Changing the form submission page on the fly!
This tutorial is not ColdFusion oriented, but covers a great trick to allow you to submit a single form to a variety of different pages on the fly.
Author: Pablo Varando
Views: 29,814
Posted Date: Monday, December 1, 2003
-
Processing XML/RSS feeds with ColdFusion MX
This tutorial will show you how to parse XML files (RSS Feeds) with ColdFusion MX and it uses an EasyCFM.COM Feed for example [Feed: 5 Most Viewed Tutorials]. It shows you how to call it via CFHTTP all the way to parse and display your records!
Author: Pablo Varando
Views: 59,475
Posted Date: Saturday, December 27, 2003
-
Creating your very own RSS XML Feeds with ColdFusion MX!
Have you ever wanted to create your very own RSS XML News Feeds? This tutorial will show you how to create an RSS feed that will allow you to syndicate your web site and allow the world to easily use your data!
Author: Pablo Varando
Views: 68,495
Posted Date: Thursday, January 15, 2004
-
Correct Content (document) serving!
This tutorial will demonstrate how to correctly serve documents via ColdFusion and allow you to correctly name the download as you see fit!
Author: Pablo Varando
Views: 28,252
Posted Date: Tuesday, February 10, 2004
-
Dynamic Last Date Modified?
This tutorial will demonstrate how to display the date a web page was last modified to your visitors dynamically.
Author: Pablo Varando
Views: 27,828
Posted Date: Monday, April 12, 2004
-
Delete files and folders in a specified path!
This tutorial will demonstrate how you can delete all files and sub-folders in a specified folder using ColdFusion and Windows!
Author: Pablo Varando
Views: 33,268
Posted Date: Wednesday, September 7, 2005
-
The best way to show categories (and their children, and their children and those children)
Today I ran by a forum post on EasyCFM.COM (see it here) that asked for help in displaying categories. This can be tricky; especially if you have many parent/child relationships. So I thought I would post a blog entry talking about the best way I have found to do this... Here goes nothing..
Author: Pablo Varando
Views: 7,271
Posted Date: Saturday, December 6, 2008
-
ColdFusion User Interfaces - Series (CFMENU)
This new tutorial series will show you how to create user interfaces with ColdFusion MX 8!
Author: Pablo Varando
Views: 5,843
Posted Date: Wednesday, May 20, 2009
-
Generating random colors on your ColdFusion Charts using a User Defined Field (UDF)....
This tutorial will show you how to efficiently re-use code and in addition how to create a random list of colors that you can use with cfchart colorlist.
Author: Pablo Varando
Views: 3,937
Posted Date: Friday, June 5, 2009
-
Annonymous User - Unread Article Notification Tracking
Have you ever wanted to let your annonymous (non logged in / members) users know what items they have not yet read in your blog or discussion board / forum? This tutorial shows you a real easy and quick way to do just that... take a look now!
Author: Pablo Varando
Views: 2,862
Posted Date: Saturday, October 10, 2009