Answer the question
In order to leave comments, you need to log in
What is the most effective way to protect against downloading images from a site do you know?
The first thing that comes to mind is a composite URL of variables, the result of which is displayed on the canvas with the context menu disabled.
What other options can there be to complicate the download of images?
Answer the question
In order to leave comments, you need to log in
The most effective way is to have images on the site that no one will download.
For example, watermarks or an inscription with the name of the site on each photo allow you to get closer to this ideal.
You have no methods against Kostya Saprykin (The meeting place cannot be changed) :-)
The most effective way is not to put the image on the site.
Sorry for such an answer, but only it can really protect against downloading, and all the rest can be overcome by a specialist with a level of knowledge a little higher than a junior.
I somehow thought about one way.
You take a picture, break it into many blocks (according to some algorithm) and swap all these blocks in places.
It turns out a puzzle.
And when you initialize the picture, you simply assemble this puzzle according to the type of sprites using the same algorithm.
There is no way, only a watermark.
Because any protection is bypassed using selenium - just took a screenshot of the desired image and saved it.
Publish on the site the text of the license in the language of the country of the site and the corresponding laws of the country of the site, in which write that images cannot be downloaded.
Find the one who downloaded - make a claim or a lawsuit, as is customary in the country of the site.
If it is not possible to find downloaders and illegal use of downloaded images, then there is no point in defending against this.
It seems to me that someone who wants to download a picture they like will not be stopped by watermark. and all these ways to blur when focus is lost and the picture on the background / iframe - will not save you from inspect element.
Stas gave the most competent answer - place the text of the license to use the pictures, and if you find those who use the picture illegally - a lawsuit.
You can use Canvas or Background. Or put an invisible div above the image, the code of which will be far from the image itself (z-index).
WaterMark, while such that it was almost all over the image, is quite noticeable. If you place it "quietly peacefully" somewhere below, then they will simply cut it off and start showing the picture as if it were so. The prohibition of the context menu, loading in pieces and inconspicuous assembly on the user's screen, and the like are successfully broken by the primitive combination "Ctrl + PrtScr" (screenshot), no matter how tricky it is. There is simply no way to display an image in its original quality and not to be stolen.
It is much more realistic to protect the image by prohibiting copying to other sites using the rules in the ".htaccess" file for Apache and the custom Referer: if a person went to the site through Google, another search engine, or from another page of your site, then we show him a normal image, and if he tries to view it from some incomprehensible resource, then we immediately show a stub image. It will not save you from copying, but it will reduce the extra off-topic load on the site.
Only watermark. I strongly do not recommend other methods (as advised here, in flash, puzzle, etc.) this will affect SEO. For example, someone took a screenshot of a picture and posted it on their website, according to search engines, it will have unique content and "authorship of the picture", you either have nothing at all or a "foreign" picture.
There is no such way. If you need to download an image, it will be downloaded anyway.
Why then waste time on all this?
There is still a way - to display the picture on the canvas not completely, but for example through a line. For the second pass, display the picture on the canvas through the line, but the second part. If you make a very quick change in the output of two parts of the picture, then it will look solid, and when you try to print the screen, you will get only a distorted picture.
Here is an example https://www.patrick-wied.at/talks/image-protection...
I don't know how it is implemented, but AirBnB has an interesting way.
There are two options for the picture:
1. without a watermark -- https://a2.muscache.com/im/pictures/52149945/33130...
2. with a watermark -- https://a2.muscache.com/im/pictures /52149945/33130...
You can download both, but the first one can be viewed (opened) only in a browser. There is an assumption that the file is simply "spoiled", or it is not a JPEG at all: Error interpreting JPEG image file (Not a JPEG file: starts with 0x52 0x49).
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question