Image Theft and Attribution

A while back I decided to ban hotlinkers after my hosting account was was hit hard by spammers.  In the grand scheme of things, the hotlinkers weren’t using a lot of bandwidth or CPU.  It was more the principle of the thing that bothered me. 

After Dreamhost changed their hosting plans to give people more bandwidth and disk space it became even less of an issue.  I haven’t taken the time to completely understand their algorithm for adding bandwidth and disk to my account, but since I’ve been a customer since April, 2000, it appears that I’m getting an insane amount of bandwidth, which increases each week:

  79680 MB Disk (Grows 480 MB / week)
      Used: 7179 MB (9.0% – Overage $.10/MB)
  2272 GB BW per Cycle (Grows 16 GB / week)
      Used this Cycle: 1.6 GB (0.1% – Overage: $0.5/GB)

My calculations suggested that the hotlinkers were only using 3-4MB per day, which is pretty much lost in the noise when you have 2272 GB per month (@ 4MB per day, that would be approximately 120MB/month, which is 0.0052% of my allowed bandwidth).  But the idea of people hotlinking my pictures still bugged me a bit, since there is no attribution. 

I thought about adding a watermark to the images, but going back and doing that manually would be a pain.  Some searching on Google turned up a handy watermarking CGI script that would add watermarks on the fly using ImageMagik.  The script was pretty easy to get running on my account.  Actually, the hardest part was creating a watermark using the GIMP.  While it’s pretty powerful it’s also a bit difficult to use unless you use it a lot.  I experimented with several transparent designs before I gave up and just used a white background with dark lettering. 

Now, when someone tries to hotlink an image, they end up getting the image, but with text in the bottom right corner that says “Hotlinked from!”  While I was at it, I added Bloglines as an allowed referrer.  People who read my site through Bloglines should now be able to see the images (without the watermark) in addition to the text (they may need to clear their browser cache, though).

Original example:

Hotlinked example:

Not exactly pretty, but it’ll do for now.  I originally wanted a watermark that was mostly transparent, but that’s kind of difficult to do unless you highlight the letters with some contrasting colors and then make everything else transparent (if you just use one color, it’s easy for it to get “lost” in the source image, depending on the color in the watermark area).  My GIMP-fu just wasn’t up to the task.


  1. Kevin White says:

    I think that’s a good solution. It looks fine. It preserves the image but makes it quite apparent where the image is coming from, no matter what the background content.

    When I had Nepenthe Island and started posting lots of motorcycle images, the Google Images bots really liked those images. They would come up in the top few entries for various bikes. The result is that my images were posted all over the place and hotlinked pics were making up 60-80% of my bandwidth.

  2. Your pics showed up just fine on Bloglines.  You’re a genius.

  3. Heh.  I don’t know about genius.  Just good at finding stuff in Google.  grin

    This .htaccess stuff is pretty powerful, provided you can figure out the right incantation.