Самостоятельное создание сайта
Самостоятельная раскрутка и продвижение сайта

Защита js кода

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

   1. защитить страницы и текст на этих страницах, это же означает защитить html код;
   2. защитить код javascript от просмотра;
   3. защитить исходники с кодом php на самом сервере.

   В данной статье я коснусь вопроса о способах защиты js кода. А что касается защиты html и php кода, то постараюсь посвятить этим вопросам свои следующие статьи.
Итак, начнем сразу с главного ответа на вопрос о том можно ли защитить js код от просмотра. Ответ негативный, пока еще не существует универсального способа позволяющего скрыть код js от любого желающего его посмотреть посетителя. Но, существует масса способов сделать практически невозможным понять логику и читабельность js кода, который можно подвергнуть различного вида ухищренным модификациям.
   Короче говоря, его можно сделать непонятным и нечитаемым.

   В интернете существует несколько основных способов модификации javascript кода:
   - замена имен функций и переменных на случайные;
   - удаление комментариев и преобразование скрипта в непрерывную строку;
   - шифрование отдельных функций и всего скрипта.

   Как вы понимаете, если нельзя защитить свой js код на 100%, то необходимо усложнить его хотя бы на 99%.
   Перейдем к инструментам, которые это могут сделать. Существует несколько видов программных средств для усложнения кода javascript:

   1. специальные программы для защиты javascript кода (HTMLCrypt, Java Script Mutator, Jasob, HTML Guardian и другие). Такие программы могут шифровать не только javascript код, но и код html, запихивая его в переменные js. К плюсам этого способа защиты можно отнести различные степени шифрования, мощные алгоритмы шифровки, удобство и быстрота. К минусам: не всегда получается кроссбраузерность, программы распространяются не бесплатно.
   2. специальные сайты сервисы, на которых Вы можете бесплатно зашифровать свой javascript файл с помощью javascript компрессоров. Наиболее популярными являются:
   - http://dean.edwards.name/packer/
   - http://javascriptobfuscator.com
   - http://sure-in.com/htmlcoder.htm
Плюсами такого способа есть бесплатная возможность и ничем не хуже платных программ степень защиты javascript файлов. Минус: удаленность сервиса, постоянное посещение сайта и новая перекодировка скриптов. Еще, также, в минус можно отнести неизвестный алгоритм использования удаленным javascript компрессора. Кто знает, чем напичкали Ваш файл и не можно ли его спокойно расшифровать другим сервисом с этого сайта.
   3. создать самому или скачать php библиотеку (класс), которая будет находится на Вашем сервере и автоматически будет шифровать необходимые javascript файлы. Плюс: бесплатный и понятный js компрессор, который Вы можете использовать по своему усмотрению. Таких библиотек в интернете немного, но Вы можете бесплатно скачать здесь:
   - http://joliclic.free.fr/php/javascript-packer/en/
   - http://phpclasses.segmenta.ru/browse/package/4818.html

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

395
2.7 52
Рейтинг: +2.7 , голосов 52
Вы еще не голосовали!
Добавить комментарий (комментариев: 7)
Удалить ответ

Ваш почтовый ящик никогда не будет опубликован
Трудно разобрать цифры? Нажмите на рисунок, чтобы обновить.
#1 11/07/2014 06:03 Андрей
reply
Еще можно запихать все JavaScript'ы в flash программу и выполнять от туда через externalinterface. Например:

import flash.externalinterface

var js_1:String = "function(a,b,c){" +
                                             "var value = (a + b) ^ c;" +
                                             "alert('value: ' + value);" +
                                             "return value;"+
                           }";

var js_2:String = "function(){alert('hello');}"

externalinterface.call(js_1,3,4,5);
externalinterface.call(js_2);

Если из таких функций сделать присваивание глобальным переменным весяшим на document то они будут доступны))) (я так текст прятал во флешки) саму флешку можно защитить с помошью secureSWF.
#2 29/09/2012 14:33 Админ
reply
<script>
window.alert('Сайт н епрошел проверку безопасности!');
</script>
29/09/2012 14:34 Админ
Проверку прошел!
#3 01/08/2012 01:36 Виталий
reply
#4 14/02/2012 14:01 sdgfsdf
reply
что за дибильная мода ставить ссылки в виде текста? ссылки разве не для этого придумали? или не хотите помогать сайтам, на которые ссылаетесь? ps. сайты не мои, и вообще я тут проездом.
#5 02/10/2011 21:38 Кодер
reply
спасибо, пригодится
#6 24/06/2011 19:41 Hawk
reply
Вот такое у меня есть, но оно не работает, посмотрите, может поймёте где ошибка. Спасибо. За статью своё спасибо. ------- можно зашифровать с помощью специальной утилиты Microsoft Script Encoder, запускаемой из командной строки MS-DOS: SRCENC [switches] inputfile outputfile После обработки этой утилитой в HTML-файлах необходимо использовать другую форму элементов например: Сами же Jscript-коды проекта будут выглядеть совершенно неудобочитаемо. --------
#7 21/04/2011 12:46 с
reply
Автор - вася.

Дополнительно

» С чего начать сайт?

» Установка программ

» Пример создания сайта

» Хостинг и домен

» Оптимизация сайта

» Раскрутка сайта

» Заработок web-мастера

» Примеры PHP/Javascript

» Блог и мои записки

Последние новости

Статьи по рейтингу

» Особенности покупки контента 5.0 1
» Выбор хостинга 4.8 5
» Поисковые системы 4.7 9
» Курс молодого web-мастера 4.6 21
» Где взять бесплатные ссылки 4.5 11
» Что такое сниппеты 4.5 6
» Addstudio - SEO модуль 4.5 4
» Отладка js и CSS 4.4 14
» Стратегия дохода на Sape.ru 4.3 3
» Каталоги и биржи статей 4.3 4