| imho.ws |
![]() |
|
|
|
# 1 |
|
Newbie
Регистрация: 15.07.2003
Сообщения: 36
![]() ![]() |
Как защитить код Javascript?
Доброго времени суток.
Проблема в следующем: есть сайт написан на html и javascript. И следовательно пользователь может легко скачать любую страничку и просмотреть ее в оффлайне. Предполагаю, что можно переписать код на PHP, но проблема в хостинге... Вопрос: Можно ли защитить свой код(javascript) от копирования или как-нибудь сделать невозможным просмотр в оффлайне скаченные страницы? |
|
|
|
|
# 2 |
|
Member
Регистрация: 26.09.2005
Адрес: Питер
Сообщения: 336
![]() ![]() |
Код PHP выполняется на сервере, а я ява-скрипт в браузере, то есть у клиента. То есть по сути это разные вещи.
Как вариант можно функцию закодировать. Потом будет вызываться другая функция, которая будет раскодировать закодированную и выполнять, что там написано. Правда при сохранения и пользователя все равно будет работать этот код, просто он станет менее понятным. Можно еще вынести ява-скрипт в отдельный файл и инклудить его в html -файле, причем писать абсолютный путь. А если этот путь переопределить в .htaccess, юзеру придется разбираться какой файл .js, куда инклудиться должен. |
|
|
|
|
# 3 |
|
::VIP::
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Хм, а есть такая программулька Zend Encoder и вообще семейство всяких разных Zend'ов.... Вот она кодирует файл так, что потом уже раскодировать (практически) невозможно, на этом форуме есть тема в варезе про нее - юзай поиск, но думаю в сети ее тоже достаточно много
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным. |
|
|
|
|
# 4 | |
|
Newbie
Регистрация: 15.07.2003
Сообщения: 36
![]() ![]() |
Цитата:
Но если страничка будет написана на PHP, то пользователь не сможет работать в оффлайне с этой страницей. (В данном случае код в яве-скрипте - это расчет различными формулами, введенных пользователем данных. Т.е. пользователь заполнил поля, нажал кнопку "расчет" и у него должен появиться результат вычисления. Но главное условие, чтобы он мог делать расчеты только в онлайне и не мог делать вычисления в оффлайне) Если я правильно понимаю, то для решения этой задачи - надо писать страничку на PHP? |
|
|
|
|
|
# 5 |
|
мод
IMHO Кодер-200(6,7,8) Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Javascript-код полюбому выполняется на стороне клиента, причем интерпретируется, поэтому чтобы он работал, нужно чтобы он БЫЛ у клиента, таким образом его можно сделать менее понятным для разбора человеком (смотрите обфускация, поищите), но никак нельзя сделать недоступным!
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям! Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru Pahan-Hubbitus. |
|
|
|
|
# 6 | |
|
::VIP::
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
Цитата:
В случае РНР - человек вводит у себя исходные данные, они отсылаются на сервер, потом он получает обратно результат. Т.е. вся математика - не на клиенте. В случае же JS - все три этапа происходят на клиенте; поэтому максимум, что можно сделать - это усложнить человеку жизнь - но полностью запретить копирование/сохранение невозможно.Вообще, надо понять одну простую штуку - невозможно "запретить сохранение картинок", "запретить печатать текст" и тому подобные вещи - по той простой причине, что раз уж информация доставлена на компьютер пользователя, то все - дальше он с ней может сделать все что угодно. И воспрепятствовать этому уже никто не может. Усложнить задачу - да (и то не всегда), а вот запретить... Очень грубо говоря - ты можешь окружить портрет Моны Лизы мыслимыми и немыслимыми системами защиты, но ты никак не властен над тем, что человек сделает фотографию картины и потом ее порежет.
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people. |
|
|
|