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

У меня есть веб-страница (на платформе.Net, с C#) с текстовым содержимым, и я хочу запретить пользователям копировать текст или печатать документ.
Если пользователю трудно получить копию страницы, я знаю, что он может. Но я бы хотел сделать это как можно сложнее.
Я нашел несколько моментов на этом.

  • Использование Java Script, чтобы заблокировать пользователя от копирования текста. Недостатком является то, что пользователь может легко скопировать текст из источника.
  • Не превращайте текст в одно большое изображение, так как пользователь может распечатать его за один раз.
  • Используйте плагин для отображения текста с возможностью прокрутки в определенном размере области просмотра без возможности копирования текста. Затем пользователь должен изо всех сил печатать каждый бит, который он может уместить в окне просмотра окна, что хорошо для меня. Используйте Flash в этом случае.
  • Я видел решение ionCube (php), где вы не можете копировать или просматривать исходный текст, но недостатком является то, что его можно легко распечатать. Я хотел бы видеть решение для кодирования asp здесь наряду с возможностью заблокировать пользователя от печати страницы:)
  • Scribd не является решением, потому что, если вы решите запретить пользователям копировать текст из документа scribd, он преобразует текст в трудно читаемое изображение.

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

2 ответа

Там нет решения. Любая веб-страница должна быть представлена ​​в памяти как DOM, и нет недостатка в инструментах, позволяющих людям манипулировать этим и извлекать из него текст.

DRM в лучшем случае неэффективен, а когда задействован HTML, "лучшее" - это долгий путь.

Вы можете использовать исходные решения и использовать правило CSS для сокрытия всего в печатной версии:

<style type="text/css" media="print">* { display: none;}</style>

Конечно, как сказал Квентин, нет определенного способа сделать это, но блокировать выделение, используя зашифрованную версию текста, которая записывается на странице с помощью javascript, и используя этот фрагмент CSS, вы можете получить около 80% пользователей.

document.getElementById('elementId').innerHTML = unescape(escapedTextGoesHere);
Другие вопросы по тегам