Как мы можем ограничить пользователя в сохранении веб-страницы?

Когда вы используете curl для доступа к маршруту, он покажет вам только то, что вернул этот маршрут - в данном случае это JSON posted. Он не покажет вам промежуточные операторы печати. Вы можете попробовать и запустить колбу в режиме отладки . Это должно распечатать на консоль, где вы запускаете это приложение.

Редактировать: для ясности, вы все равно не получите данные, отправленные в ответ на ваш запрос, т. Е. В Почтальон. Для этого вам нужно будет вернуть данные в конце вашей функции, используя return request.get_json()

5
задан OverloadUT 5 March 2009 в 19:32
поделиться

10 ответов

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

Единственный способ иметь пользователя не смочь сохранить файл не состоит в том, чтобы отправить его им.

53
ответ дан 18 December 2019 в 05:11
поделиться

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

Сначала у Вас должна будет быть страница, открытая в новом окне, где Вы выключаете строку поиска и панель инструментов и все остальное. Это сделает его так, пользователь не может легко добраться до меню File вообще. Чтобы сделать это, Вам будет нужна страница "всплеска", что пользовательские нагрузки к и затем когда они нажимают на ссылку, она открывает всплывающее окно, которое служит основному содержанию Вашей страницы. Детали о том, как создать всплывающие окна без вещей как панель инструментов, здесь: http://blazonry.com/javascript/windows.php

Затем Вы захотите добавить некоторый JavaScript к каждой странице, которая препятствует тому, чтобы пользователь щелкнул правой кнопкой. Вот один метод: http://javascript.about.com/library/blnoright.htm

Наконец, если это - Ваш код JavaScript, что Вы не хотите быть замеченными, затем запутывание Вашего кода является довольно эффективным способом сделать это. Они могут все еще видеть код, если бы у них есть много ноу-хау, но запутываемый код был бы гигантской болью для фактической интерпретации. Существует много obfuscators там; вот свободный веб-: http://www.javascriptobfuscator.com/

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

Обновление для обновленного вопроса: Для рассматривания нового расширенного вопроса я сказал бы, что лучший способ выполнить, что Вы говорите, состоит в том, чтобы использовать формат, который поддерживает DRM. Adobe Acrobat, вероятно, была бы лучшим выбором, потому что почти всем установили читателя. Можно препятствовать тому, чтобы файлы PDF были сохранены к компьютеру так, чтобы они могли только быть загружены из веб-страницы зарегистрированным пользователем. Пользователь мог все еще сделать снимок экрана самого документа, которому я не верю, предотвратимо (если Adobe Reader не имеет в распоряжении некоторую безопасность для этого, которое они могли бы), но это должна быть достаточная безопасность для большей части использования.

14
ответ дан 18 December 2019 в 05:11
поделиться

Не делайте этого.

Серьезно, если пользователь видит страницу в их браузере, они видят исходный код и/или сохраняют его к их компьютеру.

Вы терпите поражение здесь.

9
ответ дан 18 December 2019 в 05:11
поделиться

Что относительно кэша браузера? Это может быть сохранено оттуда.

Что относительно экрана печати? Это могло также сохранить страницу.

Единственный способ препятствовать тому, чтобы пользователь сохранил что-то, не состоит в том, чтобы показать его им во-первых.

4
ответ дан 18 December 2019 в 05:11
поделиться

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

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

  1. PDF - который может отключить, сохраняют и печатают. Существуют расширения большинства популярных веб-языков, которые запишут PDF на лету. Действительно Вы могли бы быть также только, чтобы спуститься по маршруту DRM с Adobe и встроить документ

  2. Flash - по всей вероятности через Flex, который мог использоваться для записи приложения общего назначения для отображения текста и изображений. Преимущество Flash состоит в том, что легче настроить ссылки, чем PDF.

  3. Или что-то еще, пользовательский апплет Java, или даже vrml плагин и дисплей текст в 3D!

Во всех случаях Вы могли отобразить текст на разрушительном фоне для создания OCR более трудным, и на изображениях можно было делать водяные знаки. Однако ничто не собирается остановить решительное и находчивое средство просмотра, хотя можно возможно сделать его достаточно трудно, что это не стоит их времени.

4
ответ дан 18 December 2019 в 05:11
поделиться

Наименьшее, которое можно сделать, является... содержанием, сгенерирован динамично JavaScript. Таким образом они не могут просто сохранить его. Конечно, в FX, они могут все еще просмотреть сгенерированный код и затем copy&paste. однако, обычно люди не могут сохранить страницу.

2
ответ дан 18 December 2019 в 05:11
поделиться

Это не должна быть проблема, но если Вы действительно не хотите пользователя от наблюдения Вашего кода (JavaScript, CSS или HTML) по некоторым причинам, чем Вы могли использовать некоторый инструмент путаницы, который делает код менее читаемым.

1
ответ дан 18 December 2019 в 05:11
поделиться

Попробуйте JavaScript "кодирование" и путаница.

Что-то как

if(document.location == 'mydomain.com') {
  content = getAjax('mycontent.xml');
  // content will hold something like 72, 94, 81, 99, ... - encoded ASCII codes
  document.write(String.fromCharCode(content));
}

Всегда будет возможно сохранить страницу, но для нетехнических парней будет более трудно заставить его работать. Существует 2 меры защиты

  • доменное имя
  • преобразование ASCII

Это - только псевдокод, но я думаю, что Вы получаете идею.

1
ответ дан 18 December 2019 в 05:11
поделиться

Я хотел бы добавить еще один метод, который, imho, сложно обойти: Ctrl + S! (для меня Apple + S)

0
ответ дан 18 December 2019 в 05:11
поделиться

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

Ничего сложного: добавьте на каждой странице: «Личное имущество Джона Стилера, компании Zetabeta, оплачено кредитной картой 756890987654, платежный адрес ..., подписка истекает 12/20 ».

Это« расширенный текстовый формат », который я только что изобрел ... у него есть удивительное свойство: хотя он выглядит как обычный текст, пользователь гораздо менее желает распечатать и передать другим ...

0
ответ дан 18 December 2019 в 05:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: