Main Content
Finding and diverting image requests from rogue domains Archive - Originally posted on "The Horse's Mouth" - 2011-03-08 08:15:40 - Graham Ellis
Search engines search images as well as text these days - and our images are often picked up because we're "good boys" and label them with alt attributes. Good - that helps generate traffic. However, there are some image search engines which have a tendency to be used for, and to feed out, adult material, which they dilute with other images, and we don't really want those images to be ours, especially pictures that include family members!
We track image use ... see [here] for pictures hotlinked from our site in the last day or so ... and when I'm logged in to our server, I can see the URL that was used as well. We don't add the links on the public page as that would only encourage the providers of these sites!
It's one think finding out about these image uses - but that's only half the story. Can we prevent then being used in this way? Not totally, but we can look at the requests made for the images and use Apache's mod_rewrite to divert the requests to a different image. Here's the code that I've added to the appropriate .htaccess file to switch images within a directory for all particular uses from the pages of one of the domains that we needed to control:
RewriteEngine on
RewriteCond %{HTTP_REFERER} dearcomputer [NC]
RewriteRule \.jpg http://www.wellho.net/pix/tramm3.jpg [R]
The image that illustrates this article is the one that will be displayed on the sites that we have controlled.
Some other articles
H309 - Maps, Graphics and Geographics Image indexer / thumbnail display scripts in PHP Adding a PHP build option, rotating an image based on camera data, and a new look at thumbnails in PHP The changing face of Christmas Where are you? How to write a geosensitive application Fpdf - generating .pdf documents easily from your PHP program QR codes with marketing logos embedded QR codes - graphics images that provide quick phone links UK Mapping Data - and more to come - under government Open Data measures Needle in a haystack - finding the web server overload Computer Graphics in PHP - World (incoming data) to Pixel (screen) conversion This article An image from a website that occasionally comes out as hyroglyphics Server logs - drawing a graph of gathered data Protecting your images from use out of context Uploading a document or image to its own URL via a browser Redirecting to your main domain for correct security keys Reducing image size on digital photos - PHP Dynamic / changing images on your web page Geocoding - converting address to latitude / Longitude with PHP via Google World Flags in your PHP pages Images for Christmas Making it all worthwhile Ever had One of THOSE mornings? Dynamic maps / geographics in PHP All around the world? addslashes v mysql_real_escape_string in PHP Gant charts - drawing them with a PHP script Ordnance Survey Grid Reference to Latitude / Longitude Converting from postal address to latitude / longitude Controlling and labelling Google maps via PHP Drawing hands on a clock face - PHP Drawing dynamic graphs in PHP Display an image from a MySQL database in a web page via PHP PHP Image viewing application Merging pictures using PHP and GD Ordnance Survey - using a 'Get a map' G902 - Web site techniques, utility and visibility Almost so wrong, but perhaps it's right for some? Effect on external factors on traffic to our web sites - an update Selecting RECENT and POPULAR news and trends for your web site users Well House Consultants, Well House Manor, First Great Western Coffee shop, TransWilts / 2014 web site reports Facebook marketing - early experiences How do I post automatically from a PHP script to my Twitter account? More or less back - what happened to our server the other day Web site - fully back! Helping search engines with appropriate 400 error codes TV show appearance - how does it effect your web site? An email marathon Some traps it's so easy to fall into in designing your web site Legal change - You need to obtain user consent if you use cookies on your website Short Web Addresses for Melksham QR codes with marketing logos embedded Some TestWise examples - helping use Ruby code to check your web site operation Promoting a single one of your domains on the search engines How big is a web page these days? Does the size of your pages matter? Learning more about our web site - and learning how to learn about yours Sharing the user experience - designing a form with the customer in mind Who is knocking at your web site door? Are you well set up to deal with allcomers? Automed web site testing scripted in Ruby using watir-webdriver Google +1 - what is it? This article Looking back at www.wellho.net Making the most of critical emails - reading behind the scene Retaining web site visitors - reducing the one page wonders How to set up short and meaningfull alternative URLs Is it worth it? How to run a successful online poll / petition / survey / consultation Web site traffic - real users, or just noise? Analysing Google arrivals by country of origin Status Page / breaks of service in early December Removal of technical resources from this site Writing with our customers words Koulutus, Open Source tietokone kielillä ldning, Open Source dator sprÃ¥k ldning, Open Source dator sprÃ¥k Opplæring, Open Source datamaskinen sprÃ¥k Uddannelse, Open Source computer sprog Opleiding, Open Source computertalen Formação, Open Source computador lÃnguas Ausbildung, die Open-Source-Sprachen Formazione, Open Source computer lingue Formación, de los lenguajes de código abierto Formation, des langages Open Source How important is a front page ranking on a search engine? Static mirroring through HTTrack, wget and others Web Site Loading - experiences and some solutions shared Cooking bodies and URLs Plagarism - who is copying my pages? Making our things easier to find How to avoid duplicating web page maintainance Find the link A few of my favourite things Web Bloopers - good form design - avoiding pitfalls I have been working hard but I do not expect you noticed Which country does a search engine think you are located in? Ever had One of THOSE mornings? Who is watching you? Rapid growth leads to server move How do Google Ads work? Kiss and Book To provide external links, or not? PHP course dot co, dot uk Online hotel reservations - Melksham, Wiltshire (near Bath) Colour, Composition or Content Where in the world / country is my visitor from? Perl, PHP or Python? No - Perl AND PHP AND Python! Ongoing Image Copyright Issues, PHP and MySQL solutions Script to present commonly used images - PHP A time to update pictures Above the fold with First Great Western Stuffing content into a web page - easy maintainance What proportion of our web traffic is robots? What brought YOU to our web site? Simple but effective use of mod_rewrite (Apache httpd) From Web to Web 2 Two new pages / sites Finding resources - some pointers Sorting out for a site map Drawing dynamic graphs in PHP Above the fold Our search engine placement is dropping. Search engine placement - long term strategy and success Training on Cascading Style Sheets Santa at the station Driving customers away Visibility Effective web campaign? Finding the language preference of a web site visitor Horse and Python training Where is a web site visitor browsing from Protecting images from theft Mirroring a dynamic site Keeping the visitors happy and browsing Denial of Service ''attack'' Bigger Box Campaign Getting favicon to work - avoiding common pitfalls Dynamic Web presence - next generation web site New Navigation Aid - Launch of My Wellho Form Madness What brings people to my web site? CMS - the minefield of Choices Graveyard pages Frightening and from-friend viruses and spams More maps Ordnance Survey - using a 'Get a map' What language is this written in? Growth pains Colour blindness for web developers The Iconish language Cover all the options An apology to Mr Boneparte Our most popular resources Information request forms, cleaning up spam Putting a form online Responding to spam Who are all these visitors? Searching for numbers Allow for peak traffic on your web site Your personal Google ranking The hunt for unique words Data Mining Implementing an effective site search engine Colour for access A case of case URLs - a service and not a hurdle No more 'Error 404' pages. Something better. Web design platoon Skills and responsibilities A607 - Apache httpd mod_rewrite Forwarding a whole domain, except for a few directories - Apache http server Adding a passcode to a directory Telling which ServerAlias your visitor used - useful during merging domains Simplest ever proxy configuration? This article How to set up short and meaningfull alternative URLs Redirecting a page - silent, temporary or permanent? Dynamically watching your web site via a PHP wrapper Carrying a long URL around - looking for memorable shorts Redirecting a home page using mod_rewrite Bookkeeping If you have a spelling mistake in your URL / page name mod_rewrite for newcomers Pointing all the web pages in a directory at a database More HowTo diagrams - MySQL, Tomcat and Java Apache httpd, MySQL, PHP - installation procedure What to do if the Home Page is missing Using a MySQL database to control mod_rewrite via PHP Choosing between mod_proxy and mod_rewrite Simple but effective use of mod_rewrite (Apache httpd) Passing GET parameters through Apache mod_rewrite Apache httpd and Apache Tomcat together tips Clustering, load balancing, mod_rewrite and mod_proxy Using different URLs to navigate around a single script Apache httpd to Tomcat - jk v proxy