Как предотвратить загрузку изображений и видеофайлов с моего сайта? Является ли это возможным? Какой был бы лучший способ сделать это?
Как предотвратить загрузку изображений и видеофайлов с моего сайта?
Ответ 1
Нет, это невозможно.
Если вы можете это увидеть, вы можете получить его.
Ответ 2
Не размещайте их на своем сайте.
В противном случае это невозможно.
Ответ 3
Изображения должны быть загружены для просмотра клиентом. Во многих сценариях видео - это аналогичный случай. Вы можете настроить прокси-скрипты для работы с файлами, но на самом деле это не решает проблему предотвращения получения пользователем собственной копии. Для более подробного обсуждения этой темы см. Вопрос Как я могу предотвратить/затруднить загрузку моего флеш-ролика?
Ответ 4
Я хотел бы добавить более философский комментарий. Все намерение Интернета, особенно World Wide Web, заключается в обмене данными. Если вы не хотите, чтобы люди загружали изображение/видео/документ, не помещайте его в Интернете. Это действительно так просто. Слишком много людей думают, что могут навязать свои собственные правила существующего дизайна. Те, кто хочет размещать контент в Интернете и контролировать его распространение, ищут свой торт и едят его тоже.
Ответ 5
Короче говоря, нет. Если кто-то может просматривать изображение или видео в своем браузере, то они по определению загружают его. Как работает веб-сайт - это клиентский сервер. Все, что вы можете просмотреть в своем браузере (клиенте), было перенесено на ваш компьютер с удаленного веб-сайта (сервера).
Ответ 6
В стандартном HTML я вообще не знаю.
Вы действительно не сказали, но я предполагаю, что у вас проблемы с людьми глубокой привязки к вашему контенту. Если это случай, и вы открыты для кода на стороне сервера, я считаю, что это может сработать:
- Создайте страницу, которая принимает числовую id, сопоставляет его с файлом сервера, открывает этот файл, записывает двоичный файл непосредственно к потоку ответов.
- В запросе страницы создайте кучу случайных идентификаторов и сопоставить их с фактические медийные URL-адреса, и сопоставление серверной части объекта где-то (в сеансе?) с ограниченным сроком жизни.
- Отправляйте свои страницы со своими медиа ссылки, указывающие на новую страницу мультимедиа с соответствующим идентификатором в качестве запроса string.
- Очистить объект сопоставления и сгенерировать все новые ссылки при каждой обратной передаче.
Это:
- не остановит людей от загрузки с вашей страницы
- определенно не такой легкий, как стандартный HTML
- и имеет собственный набор проблем.
Но это общая схема работоспособного процесса, который может помочь вам избежать глубокой привязки пользователей.
Ответ 7
Как многие говорили, вы не можете запретить кому-либо загружать контент. Вы просто не можете.
Но вы можете сделать это сложнее.
Вы можете накладывать изображения с помощью прозрачного div
, что не позволит людям щелкнуть правой кнопкой мыши (или, если фон div
на изображении будет иметь тот же эффект).
Если вас беспокоит перекрестная связь (т.е. другие люди, ссылающиеся на ваши изображения, вы можете проверить HTTP-реферер и перенаправить запросы, которые поступают из домена, который не принадлежит вам "что-то еще".
Ответ 8
Поскольку браузер должен передавать контент для его отображения (текст, изображения, видео), данные уже находятся на клиентском компьютере, когда отображается веб-сайт. Предыдущие ответы дают мало советов о том, как затруднить неопытным пользователям захват контента. Вот несколько направлений:
- Генеральная
- Наложите соответствующее содержимое с прозрачным
<DIV>
или прозрачное изображение (как описано в некоторых ответах на этот вопрос) - Откройте веб-сайт в наборе фреймов, чтобы при сохранении его содержимое могло пропасть.
- Откройте веб-сайт через
window.open()
, чтобы скрыть строку меню. - Отключайте щелчки правой кнопкой мыши через JavaScript (не рекомендуется из-за всех побочных эффектов на удобство использования)
- Загрузите HTML-код страницы из другого файла (который может проверять конкретный реферер или может быть ROT13) через JavaScript, чтобы было труднее получить доступ к исходному коду.
- Сообщите браузеру, что весь контент для принтера
display:none
(что-то вроде@media print { body, div, p { display: none } }
) - Используйте JavaScript, чтобы скрыть содержимое до того, как клиент сделает снимок экрана (см. Как запретить пользователю использовать "Print Scrn")
- Попробуйте отключить или перезаписать буфер обмена (см. этот пост)
- Наложите соответствующее содержимое с прозрачным
- .Картинки
- Не используйте тег
<img>
для изображений, но установите изображение в качестве фона для<DIV>
- Оберните изображения в файлы SVG или Flash-фильмы, чтобы сделать их доступ к ним в удобном формате очень сложным.
- Отключите кэширование изображений (с помощью тега
<meta>
или установив соответствующий заголовок при доставке на сервер), чтобы они не сохранялись в кэше браузера (без возможности доступа на клиентском компьютере). - Разрежьте изображение на части, поэтому для восстановления всего изображения требуется дополнительная работа
- Добавьте события
onmousedown
к изображениям, например, отобразите предупреждение об авторских правах. - Доставьте изображение через серверный скрипт (например, PHP) и проверьте реферер.
- Не используйте тег
- Ролики
- Потоковое видео, чтобы предотвратить простую загрузку через URL.
- Оберните видео во Flash-ролик.
- Используйте какой-нибудь неприятный формат, который поддерживает DRM.
- тексты
- Сделать текст невыбираемым (см. Как сделать текст HTML невыбираемым)
- В дополнение к наложению, оберните текст в JavaScript (например, после ROT13 или динамически загрузите из второго файла), чтобы текст не был напрямую доступен в исходном коде.
- Преобразование текстов в изображения (это может снизить качество отображения), SVG или Flash
Опять же, я повторяю, что ничто из этого не остановит опытного пользователя от захвата контента (например, сделав скриншот и - опционально - запустив на нем OCR). Иногда это так же просто, как использовать инструменты разработчика браузера или использовать веб-сайт без JavaScript. Тем не менее, это доставит неопытным пользователям трудное время, поэтому они могут искать какой-то более легкий источник, чтобы взять его.
Также имейте в виду, что вышеупомянутые методы будут влиять на поисковые системы при чтении содержимого страницы (если вы заинтересованы в их блокировании, начните с robots.txt
).
Спасибо за любые другие идеи, чтобы дополнить приведенный выше список!
Ответ 9
Если вы используете PHP, лучшим способом является контроль над ним .htaccess
, вам необходимо разместить ваши файлы, изображения и видео в отдельной папке/каталоге и создать новый .htaccess
файл в этом каталог с ниже:
RewriteEngine On
RewriteCond %{REQUEST_URI} \.(mp4|mp3|avi)$ [NC]
RewriteCond %{HTTP_REFERER} !^http://sample.com/.*$ [NC]
RewriteRule ^.* - [F,L]
Первая строка %{REQUEST_URI}
не позволит получить файл через веб-браузер или через curl
.
Вторая строка %{HTTP_REFERER}
предотвратит доступ к imahe/видео с помощью HTML-тегов <img>
или <video>
с любого веб-сайта, кроме исключений !
, которые вы предоставляете вместо http://sample.com/
, который обычно должен быть вашим веб-сайтом.
Вы также можете посмотреть мой вопрос и принятый ответ здесь для получения дополнительных трюков в стороне браузера.
Ответ 10
Также не помешает наносить водяные знаки на ваши изображения с помощью Photoshop или даже в Lightroom 3. Убедитесь, что водяной знак прозрачен и находится на заметном месте на вашем изображении. Таким образом, если он будет загружен, по крайней мере, вы получите рекламу!
Ответ 11
вы можете уменьшить возможность, но не устранить ее...
Ответ 12
Вот как я это делаю, если кто-то в будущем задается вопросом.
Я помещал это в файл .htaccess на корневом сервере:
RewriteEngine on
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com/ [NC]
RewriteCond %{HTTP_REFERER} !^http://(www\.)?domain.com.*$ [NC]
RewriteRule \.(mp4|avi)$ - [F]
Это останавливает их от того, чтобы перейти к domain.com/videos/myVid.mp4, а затем сохранить его там.
Ответ 13
Нет, нет. Вы можете заблокировать щелчки правой кнопкой мыши и simillar, но если кто-то захочет загрузить его, он сделает это, поверьте мне;)
Ответ 14
Как только они просматривают вашу страницу, включающую изображение или видео, этот элемент загружается во временную папку своего браузера. Поэтому, если вы не хотите, чтобы он был загружен, не публикуйте его.
Ответ 15
Вы можете отмечать папки или файлы, чтобы они не имели доступа на чтение (любой из основных веб-серверов поддерживает это). Это позволяет хранить их на сервере без какого-либо уровня доступа к внешнему миру. Вы можете захотеть сделать это, если у вас есть служба, которая генерирует изображения для кого-либо еще, чтобы загрузить позже, или если вы используете свою учетную запись для доступа к FTP, но не хотите, чтобы кто-либо просматривал файлы. (например, загрузите файл .bak на сервер, чтобы кто-то еще на FTP снова запустился).
Однако, как говорили другие, попадание в области авторского права, где люди могут просматривать изображение или видео, но не сохранять их локально, не полностью возможно, хотя есть инструменты, препятствующие незаконному использованию.
Ответ 16
Поместите изображение или видео в формат флэш. Отлично работает.
Ответ 17
Это старый пост, но для видео вы можете захотеть использовать MPEG-DASH для обфускации ваших файлов. Кроме того, это обеспечит лучший потоковый опыт для ваших пользователей без необходимости использования отдельного потокового сервера. Дополнительная информация в этом сообщении: Как отключить загрузку видео/аудио на веб-страницах?
Ответ 18
Вставьте прозрачный gif 1px x 1px прямо в тег <body>
:
<body><img src="route-to-images/blim.gif" class="blimover">
Затем создайте его следующим образом:
.blimover {
width: 100% !important;
height: 100% !important;
z-index: 1000 !important;
position: absolute !important;
top: 0 !important;
left: 0 !important;
}
Это приведет к удалению любых функций щелчка со страницы, но это обязательно остановит людей, крадущих любой контент!
Вы можете применить то же самое к <div>
, <section>
, <article>
и т.д., просто указывая имя и не копируя свою копию и/или изображения.
Ничто не останавливает screengrab, хотя......
Ответ 19
Предоставлено, что любое изображение, которое пользователь может видеть, сможет быть сохранено на компьютере, и вы ничего не можете с этим поделать. Теперь, если вы хотите заблокировать доступ к другим изображениям, которые пользователь не должен видеть, я на самом деле делаю это так:
- Каждая ссылка на "src" в вашем теге изображения на самом деле является запросом отправьте контроллеру на сервер,
- сервер проверяет доступ права этого конкретного пользователя и возвращает изображение, если пользователь должен иметь доступ к нему,
- все изображения хранятся в каталоге который напрямую не доступен из браузера.
Пособие:
- Пользователь не будет иметь доступ к чему-либо, что вы не намерены ему иметь доступ к
Минус:
- Те запросы медленны.. особенно есть много изображений на одной странице. Я не нашел хороший способ ускорить это на самом деле.
Ответ 20
Вы можете установить изображение в фоновое изображение и иметь прозрачное изображение переднего плана.
Ответ 21
Вы не можете остановить кражу изображения/видео, но вы можете сделать труднее для обычных пользователей, но вы не можете сделать это сложнее для таких программистов, как мы (я имею в виду воров, которые мало знают о веб-программировании).
Есть несколько трюков, которые вы можете попробовать:
1.) Использование flash как YouTube и многих других сайтов, таких как http://www.funnenjoy.com.
2.) Div наложения или фоновая настройка pic (но пользователи с небольшим смыслом могут легко сэкономить все ресурсы, открыв элемент проверки или другой вариант разработчика).
3.) Вы можете отключить правый клик и определенные клавиши, такие как CTRL + S, а другие - с помощью JavaScript, но основным недостатком является то, что если пользователь отключит JavaScript, наши трюки не сработают.
4.) Сохраняйте изображение в ни одной онлайн-директории (если у вас есть полный доступ к веб-серверу) и читайте эти файлы с серверными языками, такими как PHP, каждый раз, когда требуется изображение/видео и время от времени меняет идентификатор изображения или создает script, который может автоматически изменять идентификатор после каждого доступа.
5.) Используйте .htaccess в apache, чтобы предотвратить привязку ваших изображений другими сайтами. вы можете использовать этот сайт для автоматического создания .htacess http://www.htaccesstools.com/hotlink-protection/
Ответ 22
Если вы хотите, чтобы только авторизованные пользователи получали контент, клиент и сервер должны использовать шифрование.
Для видео и аудио хорошее решение - Azure Media Services, которое имеет защиту и шифрование контента. Вы вставляете медиа-плеер Azure в свой браузер и транслируете видео с Azure.
Для документов и электронной почты вы можете посмотреть на Azure Rights Management, в котором используется специальный клиент. К сожалению, в настоящее время он не работает в обычных веб-браузерах, за исключением одноразовых одноразовых кодов.
Я точно не знаю, насколько это безопасно. Как указывали другие, с точки зрения безопасности, как только эти загруженные байты находятся в ОЗУ "атакующего", они так же хороши, как и ушли. В этом случае решение не будет на 100% безопасным (пожалуйста, поправьте меня, если я ошибаюсь). Как и в случае с большей безопасностью, цель состоит в том, чтобы сделать ее сложнее, поэтому 99% не беспокоят.
Ответ 23
Я думаю, что лучший способ состоит в том, чтобы предотвратить щелчок правой кнопкой мыши на вашей веб-странице, потому что это наиболее удобный способ загрузки контента обычным пользователем, и вы можете считать это замечанием, если вы можете сделать это только так, как никогда этого не сделаете. в состоянии остановить компьютерного гика или хакеров, чтобы загрузить его, потому что, когда контент находится в Интернете, это означает, что он уже находится в свободном доступе...
Ответ 24
Я думаю, что лучший способ: ПОТОК ВИДЕО В ОТДЕЛЬНЫХ ЭНЕРГИЯХ.
Есть такие услуги видео-хостинга, как vzaar, которые имеют эту функциональность. Насколько мне известно, это будет очень трудно загрузить напрямую. По крайней мере, для 95% людей.
Но, конечно, если видео воспроизводится на экране, люди могут просто использовать экранный рекордер и какое-то простое программное обеспечение для записи звука с аудиовыхода (но ему или ей придется играть ПОЛНОСТЬЮ, чтобы сохранить его, совершенно неудобно).
Ответ 25
Поместите контент на Google Drive и сделайте его защищенным от закачки. Таким образом, люди могут видеть только ваши документы, фотографии, но не могут их скачать.