doniyorbekm
@doniyorbekm
Yii-шник

Как запретить файл от скачивания?

Доброго времени суток!
Для отображения картинки (или видео) на сайте мне удалось создать blob ссылки. Код генерации:
var myImage = document.querySelector('#_myimg');

    fetch('https://upload.wikimedia.org/wikipedia/commons/f/f6/Bentley-Continental-GT.jpg').then(function(response) {
        return response.blob();
    }).then(function(myBlob) {
        var objectURL = URL.createObjectURL(myBlob);
        myImage.src = objectURL;
    });

<img id="_myimg" src="" alt="">
Теперь столкнулся с проблемой, что даже после появления картинки по blob-url (blob:site.com/07129c4f-4b10-475a-a033-38ed9946a926) картинку всё-равно можно скачать. А задача-то стоит - чтобы запретить скачивание ресурсов (как, на пример, это сделано на youtube).
  • Вопрос задан
  • 1107 просмотров
Пригласить эксперта
Ответы на вопрос 5
xmoonlight
@xmoonlight
https://sitecoder.blogspot.com
Никак не запретить.
Всё что отдано клиенту - всё можно скачать.
Ответ написан
Комментировать
(как, на пример, это сделано на youtube).

То-то я оттуда скачиваю все, что плохо лежит. Сотнями расширений и сервисов...
Ответ написан
Комментировать
hzzzzl
@hzzzzl
можешь нахакерить прозрачный див поверх картинки, чтобы юзеру усложнить жизнь
а так да, никак конечно

Ответ написан
profesor08
@profesor08 Куратор тега JavaScript
Можно градиентами или тенями отобразить картинку попиксельно в каком-то div блоке такого-же размера как и параметры картинки. Скачать будет нельзя. Останется только как-то спрятать данные картинки, или передавать напрямую image data с сервера. 100% ничего не спрятать, но шанс того, что такую штуку будут разгребать довольно мал.

https://codesandbox.io/s/zk15o120xl
Ответ написан
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
(как, на пример, это сделано на youtube).

Чо? У меня вот стоит три расширения - и все качают с трубы (и откуда угодно). Запретить скачивание картинки нельзя. Потому что она уже у клиента в кэше. А если не у клиента, так на прокси. А если не на прокси - она все равно передается в бразуер, упертый человек может ее даже из дампа трафика выкусить :)

Вопрос этот сто тыщ раз обсуждался. Нельзя запретить скачивать то, что должно отображаться на сайте. Можно несколько усложнить сохранение обьекта, да, чтобы совсем уж школота отвалилась. Но гарантированной блокировки поставить нельзя.
UPD: Тем более, что статичную картинку я не мудрствуя лукаво через PrintScreen сохраню :)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы