imho.ws
IMHO.WS  

Вернуться   IMHO.WS > Веб-мастеру > Веб-программирование
Опции темы
Старый 27.04.2006, 21:48     # 1
ClawX
Newbie
 
Регистрация: 15.07.2003
Сообщения: 36

ClawX Известность не заставит себя ждатьClawX Известность не заставит себя ждать
Как защитить код Javascript?

Доброго времени суток.

Проблема в следующем: есть сайт написан на html и javascript. И следовательно пользователь может легко скачать любую страничку и просмотреть ее в оффлайне. Предполагаю, что можно переписать код на PHP, но проблема в хостинге...
Вопрос: Можно ли защитить свой код(javascript) от копирования или как-нибудь сделать невозможным просмотр в оффлайне скаченные страницы?
ClawX вне форума  
Старый 27.04.2006, 23:09     # 2
Kvarx
Member
 
Регистрация: 26.09.2005
Адрес: Питер
Сообщения: 336

Kvarx Известность не заставит себя ждатьKvarx Известность не заставит себя ждать
Код PHP выполняется на сервере, а я ява-скрипт в браузере, то есть у клиента. То есть по сути это разные вещи.

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

Можно еще вынести ява-скрипт в отдельный файл и инклудить его в html -файле, причем писать абсолютный путь. А если этот путь переопределить в .htaccess, юзеру придется разбираться какой файл .js, куда инклудиться должен.
Kvarx вне форума  
Старый 28.04.2006, 08:09     # 3
Naked
::VIP::
 
Аватар для Naked
 
Регистрация: 15.05.2005
Адрес: Питер
Сообщения: 1 194

Naked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked СэнсэйNaked Сэнсэй
Хм, а есть такая программулька Zend Encoder и вообще семейство всяких разных Zend'ов.... Вот она кодирует файл так, что потом уже раскодировать (практически) невозможно, на этом форуме есть тема в варезе про нее - юзай поиск, но думаю в сети ее тоже достаточно много
__________________
Чтобы воля стала действующим началом, тело должно быть совершенным.
Naked вне форума  
Старый 28.04.2006, 08:35     # 4
ClawX
Newbie
 
Регистрация: 15.07.2003
Сообщения: 36

ClawX Известность не заставит себя ждатьClawX Известность не заставит себя ждать
Цитата:
Сообщение от Kvarx
Код PHP выполняется на сервере, а я ява-скрипт в браузере, то есть у клиента. То есть по сути это разные вещи.

Как вариант можно функцию закодировать. Потом будет вызываться другая функция, которая будет раскодировать закодированную и выполнять, что там написано. Правда при сохранения и пользователя все равно будет работать этот код, просто он станет менее понятным.
Значит получается, что ява-скриптовские файлы в любом случае будут скачиваться пользователю на компьютер и он потом в оффлайне сможет использовать любую из страничек.
Но если страничка будет написана на PHP, то пользователь не сможет работать в оффлайне с этой страницей.
(В данном случае код в яве-скрипте - это расчет различными формулами, введенных пользователем данных. Т.е. пользователь заполнил поля, нажал кнопку "расчет" и у него должен появиться результат вычисления. Но главное условие, чтобы он мог делать расчеты только в онлайне и не мог делать вычисления в оффлайне)
Если я правильно понимаю, то для решения этой задачи - надо писать страничку на PHP?
ClawX вне форума  
Старый 28.04.2006, 09:46     # 5
Hubbitus
мод
IMHO Кодер-200(6,7,8)
 
Регистрация: 29.03.2003
Адрес: Saint-Petersburg, Russia
Пол: Male
Сообщения: 2 734

Hubbitus Бог с наворотамиHubbitus Бог с наворотами
Hubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотамиHubbitus Бог с наворотами
Javascript-код полюбому выполняется на стороне клиента, причем интерпретируется, поэтому чтобы он работал, нужно чтобы он БЫЛ у клиента, таким образом его можно сделать менее понятным для разбора человеком (смотрите обфускация, поищите), но никак нельзя сделать недоступным!
__________________
Я делаю Линукс! Присоединяйтесь к свободным людям!

Связаться со мной всегда можно по джабберу: Hubbitus@jabber.ru
Pahan-Hubbitus.
Hubbitus вне форума  
Старый 28.04.2006, 11:24     # 6
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
Цитата:
ClawX:
(В данном случае код в яве-скрипте - это расчет различными формулами, введенных пользователем данных. Т.е. пользователь заполнил поля, нажал кнопку "расчет" и у него должен появиться результат вычисления. Но главное условие, чтобы он мог делать расчеты только в онлайне и не мог делать вычисления в оффлайне)
Если я правильно понимаю, то для решения этой задачи - надо писать страничку на PHP?
ты все правильно понял

В случае РНР - человек вводит у себя исходные данные, они отсылаются на сервер, потом он получает обратно результат. Т.е. вся математика - не на клиенте.

В случае же JS - все три этапа происходят на клиенте; поэтому максимум, что можно сделать - это усложнить человеку жизнь - но полностью запретить копирование/сохранение невозможно.

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

Очень грубо говоря - ты можешь окружить портрет Моны Лизы мыслимыми и немыслимыми системами защиты, но ты никак не властен над тем, что человек сделает фотографию картины и потом ее порежет.
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 28.04.2006, 20:14     # 7
ClawX
Newbie
 
Регистрация: 15.07.2003
Сообщения: 36

ClawX Известность не заставит себя ждатьClawX Известность не заставит себя ждать
Теперь мне все ясно, буду переписывать на PHP.
Всем огромное спасибо за помощь!
Отдельное спасибо BorLase за такой подробный ответ
ClawX вне форума  
Старый 05.05.2006, 18:12     # 8
shurik90
Guest
 
Сообщения: n/a

Не забывай что переделать на PHP тебе придётся всё. То есть ты не сможешь переделать на PHP часть странички, а потом выводить туда свой java script? т.к. он всё равно будет виден юзеру. То есть все формулы тебе надо будет переделать на PHP.
 
Старый 06.05.2006, 11:10     # 9
BorLase
::VIP::
 
Аватар для BorLase
 
Регистрация: 09.09.2002
Адрес: Kiev
Пол: Male
Сообщения: 1 150

BorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех ГуруBorLase Отец (мать) всех Гуру
shurik90, не пугай человека работы там - с гулькин нос
__________________
Great minds discuss ideas. Average minds discuss events. Small minds discuss people.
BorLase вне форума  
Старый 06.05.2006, 21:54     # 10
ClawX
Newbie
 
Регистрация: 15.07.2003
Сообщения: 36

ClawX Известность не заставит себя ждатьClawX Известность не заставит себя ждать
Спасибо всем за помощь, уже все сделал. И в самом деле работы было "с гулькин нос"
ClawX вне форума  

Опции темы

Ваши права в разделе
Вы НЕ можете создавать новые темы
Вы не можете отвечать в темах.
Вы НЕ можете прикреплять вложения
Вы НЕ можете редактировать свои сообщения

BB код Вкл.
Смайлы Вкл.
[IMG] код Выкл.
HTML код Выкл.

Быстрый переход


Часовой пояс GMT +4, время: 13:05.




Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.