Предотвращение выделения / копирования в буфер обмена в Firefox - PullRequest
0 голосов
/ 15 января 2009

Мне нужно запретить пользователю выбирать текст (выделять все или выделять часть текста) в браузере Mozilla Firefox, используя скрипт java. Я сделал это с помощью Internet Explorer, но, похоже, не работает с Mozilla.

Есть намеки? URL? Пример

ТИА.

EDIT:

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

Я немного погуглил и нашел похожую проблему с решением здесь .

Ответы [ 7 ]

15 голосов
/ 15 января 2009

Рендеринг текста в изображение, если вы действительно хотите, чтобы люди не копировали его. Уловки Javascript всегда можно отключить и / или обойти.

Конечно, лучший способ предотвратить копирование текста - это вообще не показывать его - они могут его прочитать и перепечатать! ; -)

4 голосов
/ 15 января 2009

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

Простым способом было бы покрыть текст другим элементом, таким как DIV, используя позиционирование CSS. Это будет означать, что когда пользователь пытается нажать на DIV, чтобы выделить текст, текст не будет выделен. Должно работать в любом браузере, который поддерживает CSS, и в браузерах, которые этого не делают, вероятно, будут полностью невидимыми. Нажатие на страницу и нажатие CTRL + A (или какой-либо другой комбинации клавиш) может выделить текст в любом случае, и может оказаться невозможным заблокировать все события клавиш и мыши, которые могут попасть в текст. Но этот DIV подход «крышки», по крайней мере, малозаметен и его легко обобщить. Тем не менее, это тривиально побеждено, глядя на источник HTML. Это не так просто победить, отключив CSS (это легко сделать в Firefox, и многие пользователи Firefox достаточно опытны, чтобы это сделать).

Более надежный подход - визуализировать текст в виде графика, используя обычный файл изображения или что-то вроде PDF. Однако графику можно распознать. Для этого есть бесплатные инструменты.

Наконец, вы можете поместить свой текст в апплет Flash или Java, который будет загружать текст с сервера. Кто-то может украсть ваш апплет, но ему будет трудно заставить его общаться с вашим веб-сервером из-за политики безопасности того же источника (примечание: это также можно обойти). Этот подход не намного лучше, чем подход PDF, за исключением того, что он затрудняет захват целых документов, поскольку апплет будет отображать только часть документа за раз. Чтобы победить это, используя OCR, злоумышленник должен сделать снимки экрана. Или же они могут перепроектировать ваш апплет и создать новый апплет (или даже обычную программу), который загружает весь контент с вашего сервера.

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

2 голосов
/ 10 июля 2009

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

2 голосов
/ 15 января 2009

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

2 голосов
/ 15 января 2009

Насколько я знаю, это невозможно.

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

Как в IE, так и в Firefox пользователь может выбрать просмотр источника HTML-страницы.

0 голосов
/ 15 января 2009

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

0 голосов
/ 15 января 2009

Книги Google, похоже, хорошо справляются с задачей предотвращения копирования текста / изображений. Хотя я понятия не имею, как они этого добиваются.

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