Защита изображений (чтобы пользователи не могли украсть фотографии) - PullRequest
2 голосов
/ 13 декабря 2011

Я создаю интернет-магазин, который предлагает людям определенные фотографии.В этом интернет-магазине вы можете (конечно) просматривать свои фотографии.

Поэтому, чтобы убедиться, что фотографии безопасны для скачивания непосредственно с сайта, я присвоил всем своим HTML-тегам изображений код

oncontextmenu="return false;"

Теперь это защищает фотографии от щелчка правой кнопкой мыши и сохранения их.Проблема в том, что если пользователь достаточно умен, чтобы просто перетащить фотографию на рабочий стол, он все равно может загрузить изображение.

Существует ли (простой) способ защитить эти изображения от всех форм загрузки?

Ответы [ 6 ]

7 голосов
/ 13 декабря 2011

Всегда найдется способ загрузить изображения на веб-сайт.

Вы можете отключить перетаскивание изображений, используя этот JavaScript:

    $("#imagegallery").mousedown(function(){
        return false;
    });

но даже тогда вы можете просто просмотреть источник и выполнить поиск файла.

Я бы предложил добавить водяной знак, используя уже созданный класс PHP, очень просто добавить свой логотип к каждому изображению.

Или вы можете отображать только небольшие изображения, чтобы они приходили к вам для полной версии.

4 голосов
/ 28 февраля 2012

Добавьте все эти атрибуты в тег img:

ondrag="return false"
ondragstart="return false"
oncontextmenu="return false"
galleryimg="no"
onmousedown="return false"

Кроме того, чтобы при желании уменьшить размер изображения, добавьте его в тег img:

class="imgPrint"

И включитеCSS:

@media print
{
    .imgPrint
    {
        width: 40%;
    }
}
4 голосов
/ 13 декабря 2011

Создайте div / table и установите фон div / table в качестве представленного изображения.Поместите невидимое (прозрачное) изображение размером 1px X 1px в div / table и растяните его до размера div / table.Таким образом, они не могут щелкнуть правой кнопкой мыши, чтобы сохранить или перетащить его.

Вы никогда не можете запретить кому-либо скачивать что-либо.Но этот способ, безусловно, самый популярный способ запретить начинающим пользователям загружать изображения.

4 голосов
/ 13 декабря 2011

То, что Нуфал сказал в своем комментарии, действительно.Другим способом решения этой проблемы является отображение изображения в виде миниатюры / в небольшом разрешении, при этом файл с полным разрешением предоставляется при покупке.

3 голосов
/ 13 декабря 2011

Вы также можете использовать свой файл .htaccess:

RewriteEngine On

RewriteCond %{HTTP_REFERER} !^http://(.+\.)?mysite\.com/ [NC]

RewriteCond %{HTTP_REFERER} !^$

RewriteRule .*\.(jpe?g|gif|bmp|png|jpg)$ /images/noway.jpe [L]

измените текст mysite выше, чтобы мы назвали ваш сайт

, затем создайте изображение под названием: noway.jpe

и загрузил его в папку my / image /.

Обратите внимание на расширение файла .jpe - это потому, что теперь файлы .jpeg и .jpg заблокированы для показа на сторонних веб-сайтах

, но это исключение позволяет вам показывать свое собственное изображение.

0 голосов
/ 18 февраля 2013

Так же, как сказал Jleagle, используйте

$("#imagegallery").mousedown(function(){
    return false;
});

, чтобы ограничить пользователя от перетаскивания изображения, но если пользователь достаточно умен, чтобы использовать инструмент перерезания, он / она может получить отрывок вашего изображения, поэтому, чтобы ограничить это, поместите полупрозрачный div над вашим изображением, который ставит водяной знак поверх изображения, но в то же время пользователь может видеть изображение в консоли, поэтому, чтобы быть на 100% уверенным, я бы сказал, добавив водяной знак в сам jpeg.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...