Обфускация кода как средство защиты

Веб программистам сложно хранить свои секреты. PHP, Perl, javascript, CSS — все это текстовые файлы. Код открыт. Значит любой сможет узнать как работает программа, скопировать, изменить её код. Достаточно иметь под рукой текстовый редактор, и вы узнаете все секреты.

Как защитить свой код?

Если вы встроили в программу какую то защиту, например надпись о том, что используемая копия программы не имеет лицензии. То в случае программы (сайта), написанной на PHP, этот код можно найти и убрать. Но до PHP-кода ещё нужно добраться. Он хранится на сервере, и его копию получить все же не так то просто.

А что если вы пишите классные виджеты на javascript? Даже просто показывая пример, как работает ваш классный скрипт, вы раскрываете ваш код. Так как javascript выполняется на компьютере пользователя, программа должна быть загружена на компьютер пользователя. Это всего лишь текстовый файл с расширением js.

Можно сделать так, чтобы код был не читаемым. Чтобы его демо-версию нельзя было осмысленно использовать. На помощь приходит обфускация.

Что если ваш код выглядит как то так?

На самом деле это:

Есть разные вариации этого подхода. Некоторые обфускаторы шифруют довольно примитивно, текст программы можно восстановить. Некоторые выдают код, который не каждый браузер сможет переварить, т.е. работают не везде. Мой пример взят вот здесь — http://utf-8.jp/public/aaencode.html, он зарекомендовал себя хорошо :).

Так можно заложить в код защитные механизмы, например, добавить надпись что это «демо-версия». Это усложнит жизнь, желающим поживиться «на халяву». Если стоимость кражи дороже самой программы, то код не станут воровать.

Мало букафф? Читайте есчо !

Когда jQuery.find может не работать

Декабрь 8, 2012 г.

Обычно, "проблема" возникает с данными, получаемыми через асинхронные запросы (ajax-запрос). Вы пытаетесь выполнить jQuery.find() для полученных данных, а функция возвращает пустой объект. В примере ниже, мы пытаемся извлечь содержимое HTML контейнера ...

Читать

Как избежать изменения позиции scroll в документе после установки #hash

Февраль 21, 2020 г.

При установке значения hash в url окна, к примеру так: window.location.hash = '#something'; браузер прокрутит документ до позиции элемента вида <a name='something'></a>. Иногда такое поведение является не желательным. После изменения позиции ...

Читать

Сисадминам - респект!

Июль 29, 2011 г.
На клаве

Поздравляю всех знакомых (и не очень) действующих и бывших системных администраторов с их профессиональным праздником. Желаю им устойчивого пинга и послушного ...

Читать

Скорость воспроизведения аудио-трека (javascript, HTML5 тэг AUDIO)

Декабрь 21, 2015 г.

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

Читать
 

Комментарии к «Обфускация кода как средство защиты»

Понравилась статья? Есть вопросы? - пишите в комментариях.



Комментарий: