Published: Tuesday, November 03, 1998
Protecting your Images
By Bart Silverstein
* This article describes how to prevent others from leaching images off
your server using Active Server Pages
If you have a neat image or logo, and someone else decides to put it up on
their site, they can simply view the HTML source code and put the fully
qualified URL to the image in an IMG tag on their site. There, of course, is
nothing illegal with leaching images, but it is annoying if you are the one
whose server is being burdened by requests from another site. This article,
written by Bart Silverstein, describes
a technique to protect your image files.
First, let's look at what your IMG tag will look like to display a
"protected" image from our site (www.site1.com):
<IMG SRC="/images/getimage.asp?FName=whatever.jpg">
The filename of the image you want to display will be whatever.jpg. Now,
let's look at the getimage.asp file.
<% Option Explicit
'Get where the request came from
Dim strBuffer, FilePath
strBuffer = Request.ServerVariables("HTTP_REFERER")
strBuffer = mid(strBuffer, InStr(strBuffer,".") + 1)
strBuffer = left(strBuffer, InStr(strBuffer, "/") - 1)
'Specify the path we should be served from
' (This can be another web site (http://www.site2.com) or
' some directory where the web surfer will not expect to
' find your images...
FilePath = "/HIDDENIMAGES/"
'Test to see if we should serve the file or not
If strBuffer = "site1.com" then
'The Image can be served
FilePath = FilePath + Request.QueryString("FName")
Else
'They are trying to leach our file!!
FilePath = "/images/leacher.jpg"
End If
'Send them to the appropriate file
Response.Redirect(FilePath)
%>
This file uses the Request.ServerVariables collection to get the
HTTP_REFERRER
and then, based on the value of that variable, it determins if the user can
view the file or not. (For more information on the ServerVariables collection
point your browser to the
ServerVariables article)
Of course this utility will not stop users from right clicking on an image and
saving the file, but it will successfully stop anyone from leaching your image
files.
Happy Programming!