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

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

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

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

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

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

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

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

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

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

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

Программное создание публикации в Drupal 7

Апрель 15, 2017 г.

Еще одна шпаргалка по Drupal 7. Мы создадим публикацию из PHP, добавим пользовательские поля и даже загрузим файл (изображение) в поле соответствующего типа. Сначала мы создадим структуру публикации (объект node).  Нам понадобится указать данные, ...

Читать

Функционал Sites.php в Drupal 6

Июль 6, 2016 г.

Для организации мультисайтинга в Drupal 7 можно использовать специальный файл sites.php, содержащий массив перенаправлений. Этот массив задаёт соответствия между запрашиваемыми доменными именами (и др. параметрами http запроса) и конечными папками, содержащими ...

Читать

Задача: подсчета кол-ва возможных маршрутов

Июнь 25, 2023 г.

Решаем задачу с литкода №1575 Count All Possible Routes. Дан массив чисел, описывающий города. Указаны индексы стартового города (start) и города, куда нужно приехать (finish), а также запас топлива (fuel). Требуется найти кол-во путей, по которым ...

Читать

Подключить скрипт / библиотеку в шаблоне twig

Ноябрь 5, 2023 г.

Подключение скрипта или стилей "по-месту", на мой взгляд, не плохая практика, т.к. соответствующие файлы не будут подключаться, если в них нет необходимости. От вас потребуется объявить нужный скрипт и/или стили как библиотеку. Это можно сделать ...

Читать
 

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

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



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