#php #javascript #jquery #html
#php #javascript #jquery #HTML
Вопрос:
Есть ли какой-либо способ запретить пользователям копировать контент с веб-сайта и отображать зашифрованный код в view source?
Я знаю, что технари всегда найдут способ, но если это мешает обычным пользователям, все в порядке.
Комментарии:
1. Ваш код всегда будет виден 🙂
2. Проявите смекалку и потратьте свое время на что-нибудь продуктивное или ограничьте доступ к своему веб-сайту (требуется логин).
Ответ №1:
Проверьте ionCube HTML Obfuscator:-
http://www.ioncube.com/html_encoder.php
Что касается текстового содержимого, попробуйте этот код:- Live Demo (IE не поддерживается)
<script type="text/javascript">
document.oncopy = function(){
var bodyEl = document.body;
var selection = window.getSelection();
selection.selectAllChildren( document.createElement( 'div' ) );
};
</script>
Комментарии:
1. Обфускатор ionCube — действительно плохое, устаревшее решение (обратите внимание на авторские права 2003 года на их код). Да, просмотр-> исходный код запутает код, но инструменты разработчика в Chrome выведут DOM после javascript, что означает, что вы можете видеть код простым как день. Используя это, все, что вы делаете, это заставляете пользователей включать javascript, но на самом деле это не обеспечивает дополнительной безопасности.
2. Привет, Джефф, ты прочитал вопрос? » …. и отобразить зашифрованный код в view source? Я знаю, что технари всегда найдут способ, но если это мешает обычным пользователям, все в порядке. »
3. с каких это пор нетехнологи все равно просматривают исходный код? цель состоит в том, чтобы скрыть исходный код от людей, которые могут писать html / javascript, но не знают, как нажать ctrl I в Chrome? нажатие «просмотреть исходный код» не менее технически, чем нажатие «Инструменты разработчика»
4. Мы пытаемся скрыть текстовое содержимое, а не исходный код (не заставляйте меня снова цитировать вопрос). И хорошо, когда приведенный выше JavaScript не позволит им копировать текст, тогда большинство из них попытаются получить его из исходного кода (через «Просмотреть исходный код»). В любом случае, вы должны спросить об этом у задавшего вопрос.
Ответ №2:
Учитывая теги, которые вы использовали:
- PHP — это код на стороне сервера, и ваши конечные пользователи никогда не увидят ваш код
- HTML нельзя скрыть от конечных пользователей
- Javascript и jQuery также нельзя скрыть, но их можно запутать, «сократив» код. Обычно это делается с помощью такой программы, как JSMin (онлайн-инструмент, доступный по адресуhttp://jscompress.com /)
Комментарии:
1. Я не хочу, чтобы пользователи копировали КОНТЕНТ на веб-страницах не <CODE>
2. Текстовое содержимое: нет. Изображения: нет, но вы можете запретить пользователям щелкать правой кнопкой мыши по изображению (для сохранения) или скрыть ваше изображение в теге canvas (их очень легко обойти). Музыка / фильмы: Нет, но некоторые форматы усложняют это, например, извлечение mp3 с Youtube. Однако довольно легко обойти. Пожалуйста, уточните, какого типа контент, и, возможно, мы сможем помочь немного больше, но короткий ответ заключается в том, что для большинства материалов вы не можете сделать ничего такого, что нельзя было бы легко обойти.
Ответ №3:
Нет, не существует.
Даже если бы вы могли зашифровать исходный код, браузеру все равно необходимо создать структуру DOM, которая может быть повторно сериализована как читаемый HTML.
Ответ №4:
Нет, не существует. Пользователь всегда сможет получить доступ к данным, отправленным в браузер. Шифрование здесь не помогает, потому что данные должны быть расшифрованы в какой-то момент, чтобы отображаться на экране.
Ответ №5:
Для пользователя laic вы можете заблокировать событие щелчка правой кнопкой мыши, ctrl c, события клавиш ctrl insert в окне. Но для более продвинутого пользователя вы не сможете заблокировать копирование содержимого, если вы используете HTML. Flash решил бы эту проблему, но кто все еще использует flash для контента, верно?
Ответ №6:
Для изображений наложение на изображение прозрачного элемента, чтобы вы не могли просто щелкнуть правой кнопкой мыши и скопировать, остановит некоторых пользователей.
Ответ №7:
Для отображения контента можно использовать flash или adobe objects (.swf / .pdf)
Ответ №8:
Вы можете использовать эти tags
..
//$("body").css("-webkit-user-select", "none");
//$("body").css("-moz-user-select", "none");
//$("body").css("-ms-user-select", "none");
//$("body").css("-o-user-select", "none");
//$("body").css("user-select", "none");