![]() |
Как защитить код Javascript?
Доброго времени суток.
Проблема в следующем: есть сайт написан на html и javascript. И следовательно пользователь может легко скачать любую страничку и просмотреть ее в оффлайне. Предполагаю, что можно переписать код на PHP, но проблема в хостинге... Вопрос: Можно ли защитить свой код(javascript) от копирования или как-нибудь сделать невозможным просмотр в оффлайне скаченные страницы? |
Код PHP выполняется на сервере, а я ява-скрипт в браузере, то есть у клиента. То есть по сути это разные вещи.
Как вариант можно функцию закодировать. Потом будет вызываться другая функция, которая будет раскодировать закодированную и выполнять, что там написано. Правда при сохранения и пользователя все равно будет работать этот код, просто он станет менее понятным. Можно еще вынести ява-скрипт в отдельный файл и инклудить его в html -файле, причем писать абсолютный путь. А если этот путь переопределить в .htaccess, юзеру придется разбираться какой файл .js, куда инклудиться должен. |
Хм, а есть такая программулька Zend Encoder и вообще семейство всяких разных Zend'ов.... Вот она кодирует файл так, что потом уже раскодировать (практически) невозможно, на этом форуме есть тема в варезе про нее - юзай поиск, но думаю в сети ее тоже достаточно много :yees:
|
Цитата:
Но если страничка будет написана на PHP, то пользователь не сможет работать в оффлайне с этой страницей. (В данном случае код в яве-скрипте - это расчет различными формулами, введенных пользователем данных. Т.е. пользователь заполнил поля, нажал кнопку "расчет" и у него должен появиться результат вычисления. Но главное условие, чтобы он мог делать расчеты только в онлайне и не мог делать вычисления в оффлайне) Если я правильно понимаю, то для решения этой задачи - надо писать страничку на PHP? |
Javascript-код полюбому выполняется на стороне клиента, причем интерпретируется, поэтому чтобы он работал, нужно чтобы он БЫЛ у клиента, таким образом его можно сделать менее понятным для разбора человеком (смотрите обфускация, поищите), но никак нельзя сделать недоступным!
|
Цитата:
В случае РНР - человек вводит у себя исходные данные, они отсылаются на сервер, потом он получает обратно результат. Т.е. вся математика - не на клиенте. В случае же JS - все три этапа происходят на клиенте; поэтому максимум, что можно сделать - это усложнить человеку жизнь ;) - но полностью запретить копирование/сохранение невозможно. Вообще, надо понять одну простую штуку - невозможно "запретить сохранение картинок", "запретить печатать текст" и тому подобные вещи - по той простой причине, что раз уж информация доставлена на компьютер пользователя, то все - дальше он с ней может сделать все что угодно. И воспрепятствовать этому уже никто не может. Усложнить задачу - да (и то не всегда), а вот запретить... Очень грубо говоря - ты можешь окружить портрет Моны Лизы мыслимыми и немыслимыми системами защиты, но ты никак не властен над тем, что человек сделает фотографию картины и потом ее порежет. :) |
Теперь мне все ясно, буду переписывать на PHP.
Всем огромное спасибо за помощь! Отдельное спасибо BorLase за такой подробный ответ :) |
Не забывай что переделать на PHP тебе придётся всё. То есть ты не сможешь переделать на PHP часть странички, а потом выводить туда свой java script? т.к. он всё равно будет виден юзеру. То есть все формулы тебе надо будет переделать на PHP.
|
shurik90, не пугай человека :) работы там - с гулькин нос
|
Спасибо всем за помощь, уже все сделал. И в самом деле работы было "с гулькин нос" :)
|
| Часовой пояс GMT +4, время: 11:30. |
Powered by vBulletin® Version 3.8.5
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.