views:

635

answers:

12

Hi,

I need a method to make the product images on a website "uncopyable" - not be able drag and drop them onto desktop or right click and save.

They also need to be links and are in a scrolling javascript viewer (http://www.dynamicdrive.com/dynamicindex4/stepcarousel.htm)

Any ideas?

Thanks, Steph

+50  A: 

If you don't want people to copy images don't put them on a website. Nothing stops people taking screen captures, not to mention disabling JavaScript, or viewing your the HTML source to find image locations.

The best you can do is put watermarks on them, to make it clear where they're from.

Dominic Rodger
+1 for watermarks.
Michael Itzoe
+1: And there's also taking a picture with a cellphone too. Or people remembering what the picture was and drawing a sketch of it!
Donal Fellows
People ask me for this from time to time. It really is just a wrongheaded idea. The problem is that to show up in your browser, you have to be able to download it. And that's already game over.
Brian MacKay
Thanks for your comments everyone - I thought it was impossible and not i realise it definitely is! I'm going to suggest watermarks i think.
Steph
Agree, though sometimes it's useful to prevent naive users from copying images. 99% of the population not on SO has no idea how to grab an image if you can't right-click to save. ALT-Whatscreen?
Eric J.
+4  A: 

Impossible to stop them taking images, they can just hit PRINT SCREEN and voila, done.

Your best bet is probably to overlay a transparent to prevent right click save as, but it's not going to stop anyone but the most casual of users, and would the casual users really want to copy your images in the first place?

SLC
+15  A: 

Forget it. You can disable right click and save and do a ton of other tricks (e.g. use them in a background image), but a simple screen shot will render them useless.

I'd try to convince the client that it is impossible to achieve, and that protecting their copyright should be done by, say, frequently surfing the web for any infrigements and, maybe, adding a watermark to the images shown.

Pekka
+1 for watermark, only real solution
BlueRaja - Danny Pflughoeft
+8  A: 

In order to SEE an image, it has to be on their computer. And if it's on their computer, they can find a way to get it.

BlueRaja - Danny Pflughoeft
+2  A: 

For images to be rendered on the user's screen they have to be downloaded to the browser's cache. Any slightly knowledgeable person could retrieve the image(s) from the cache.

Your best bet may be to watermark the image in someway so as to make it unusable in any other context. Watermarking is placing an image or text into the actual text that is visible. While it won't stop people from copying the image, it will make it more difficult for them to make use of it in another context.

You need to work with the client to understand why they want the images to be "uncopyable" and then to educate them about how the technology of the web actually works.

Mike Chess
A: 

A decent solution to use would be Copy Safe. Works for both images and videos. It currently does not support MAC. You can restrict MAC users for an intermediate solution.

CodeToGlory
Interesting, but "When a visitor views a CopySafe Web page, if the CopySafe Web plugin is detected then the page is displayed but they are not able to copy, save or capture your page content. If the CopySafe Web plugin is not detected, they are redirected for download and installation." - personally, I have now left your website annoyed!
Dominic Rodger
@Dominic: I can make my browser lie about what plugins are installed too...
Donal Fellows
Wow. Blocking Mac/Linux users and requiring PC users to install a browser plugin is "decent"? WTF?
ceejayoz
Sometimes it is very important to protect your content and depending upon your user base you can choose different solutions. You can have one solution for windows and another custom solution for Mac. Its implementation details.
CodeToGlory
How does Copy Safe disable my digital camera?
detly
Wow, requiring users to install a plugin (which, if it's anything like every other plugin, will need to be updated regularly due to security vulnerabilities), just to view an image? I don't think you're going to get many takers; a brilliant way to lose customers. Oh, and anything such a plugin could do to sabotage Windows in an attempt to hinder the print-screen feature can easily be side-stepped by, say, running it in a virtual machine.
bobince
The answer provides a very intrusive way for a solution, but doesn't deserve a downvote imo.**it is a bad idea** though
the_drow
It's not really a solution though, is it? This makes it *annoying* to copy images. The question asks for *impossible*.
detly
Oh Jesus. I just tested this. It takes a scattershot approach to ‘disabling’ screen capture, involving disabling all right clicks and all interaction with toolbars, including the browser's own navigation, and crashing the Windows shell if any .EXE is launched. Thus it badly screws up the user's desktop, whilst failing to actually make the images secure. Appalling.
bobince
Also take a look at [this](http://www.elitehackers.info/forums/showthread.php?p=84462) and [this](http://forums.moneysavingexpert.com/showthread.php?t=1506401) ... yeesh...
detly
I am merely presenting an option that we used in the past where we had to absolutely block downloading the images, video content etc as they are considered highly classified. We looked at other solutions as well. We did have occasions where we had to reinstall the plug-in.@detly, it is impossible to copy images with this approach.
CodeToGlory
bobince provides at least one way. And of course, depending on your definition of copy, you cannot control what people do outside the PC, eg. taking a photograph. If you are attempting to protect the information and not just the byte-for-byte content of a graphics file, a photograph will STILL result in a copy of the information.
detly
@CodeToGlory The idea of such an plugin being used to protect "highly classified" data is rather terrifying. I hope you don't work for my government...It is not "impossible to copy images with this approach". Someone can take a photograph of the screen, which for "highly classified" data would be a very, very bad thing.
ceejayoz
@ceejayoz What is your approach to prevent people from taking a photograph?
CodeToGlory
Uh, there isn't one. That is *exactly the problem with sending an image to someone's computer*.
detly
this solution is not just for images but also for videos.
CodeToGlory
@CodeToGlory: so you agree that it doesn't work to protect images? Then what's the difference between taking a photograph of a still image on the screen, and taking a *video recording* of a video on the screen?
Dean Harding
+5  A: 

You can cut the image in some parts that are touching and producing the whole picture. That way the user will loose his interest to try to right-click save the image.

And many people stop trying after the first failed attempt to copy an image.

Other than that the PrintScreen button works almost everywhere except for video streaming. (not flash-based) You can try to open a movie with MediaPlayer classic for example and try hitting the PrintScreen button - the clipboard has black screen instead a shot of the movie in it. May be there is a way to use this in your case.

edit: Here's another suggestion but is it's not that technology independant. I think that you can create a special restricted .pdf file that doesn't allow copy of both files and text. Not sure about PrintScreen again.

Leni Kirilov
Was just thinking of that myself. Seems like a good idea, makes it too much of a chore for many people to bother with.
Jack Webb-Heller
Great idea with the Video but doesn't apply any more on Windows 7 and its snipping tool - it somehow manages to grab video. May be graphics driver / DirectX / codec dependent, though.
Pekka
Even before Windows 7, if you disable your video card's hardware acceleration, video is no longer displayed using the video card's overlay feature and PrintScreen will work fine.
Martin
+1  A: 

The only good way to do this is to either display the images using only css. (This kinda of keeps people that know nothing about browsers from right clicking and clicking save images as... Simple enough for that. However, this won't stop an advanced user from looking at the css and going directly to the url to save the image. So the only good way to keep people from taking your images is a watermark. ;) Good luck.

Blank
+4  A: 

There's a few ways to emulate this, but it's not possible to totally stop users from downloading images.

You can:

  • Disable right click with javascript
  • Overlay a transparent gif or png over the image (flickr does this)
  • Set the image as a background image of a container, whose width and height are equal to that of the image.
davethegr8
A: 

A "solution" for the screenshot problem: The image is an animated $whatever and each frame shows a different part of the image...

If the user has enough time, he can get a clue of the whole picture, while the copier would have to press print-screen very often and combine the pictures...

Perhaps we need magic-ink printers with the crypto-chip right in the head?

osti
+2  A: 

You can make it harder (but not impossible) using something like Microsoft Rights Management Services with IE. That usually uses Active Directory infrastructure - not suited for public facing website, only intranet.

A: 

Leni wrote: video streaming. (not flash-based) You can try to open a movie with MediaPlayer classic for example and try hitting the PrintScreen button - the clipboard has black screen instead a shot of the movie in it. May be there is a way to use this in your case.

Leni, or any one who has ideas, if you used video streaming wouldn't it be snippable? How would you protect against this? If it is snippable would they be able to edit it once they got it? How do you make streaming video uneditable? Should I start a new topic with this? How do you make your website safe from someone else replacing your content? Security question on top of the rest, I know but these are my questions.

GreatGagas
There's a slider somewhere on the display settings dialog (on XP anyway) which controls the amount of display HW acceleration. Slide it a few places to the left and you'll find screenshots now include media player (or similar) video. (I guess this is because fully HW-accelerated video uses an "overlay" separate from the main framebuffer; but if you reduce the degree of HW acceleration it falls back to routing the video via the framebuffer, from where it can be captured).
timday