Защита PHP

Страницы: 1
RSS
Защита PHP
 
Есть ли возможность как-то защищатьHASP ключем от копирования PHP файлы?
 
Добрый день, Владимир.

В силу специфики скриптовых языков программирования их довольно трудно как-либо защитить.
В случае нашей системы защиты мы можем предложить два варианта защиты:
1. (Рекомендуемый путь) Вы выносите критическую часть логики Вашего решения в отдельную dll библиотеку, написанную на C/C++/C#/Delphi языках. Такую библиотеку можно без проблем защитить средствами нашего SDK LDK, и в своём решении использовать уже защищённую версию такой dll библиотеки.
2. Второй вариант заключается в защите интерпретатора, который обрабатывает PHP скрипты + шифровании самих Ваших PHP скриптов. Защищая интерпретатор средствами SDK LDK Вы сможете указать в настройках защиты какие файлы ПО должно будет воспринимать как зашифрованные, и предварительно расшифровывать. Шифрование скриптов также производится средствами SDK LDK. Такой вариант осложнён тем, что Вам требуется использовать интерпретатор, который: есть у Вас в исходниках, а также распространяется бесплатно и по лицензии, которой не будут противоречить Ваши действия по его защите, либо же он целиком разработан Вами.

Другие варианты защиты скриптовых решений, на текущий момент времени, не возможны.
 
> Такой вариант осложнён тем....

вы забыли куда более очевидное возражение

если интерпретатор "распространяется в исходниках", то он просто напросто есть не только у VK, но и у всех остальных

если PHP-VK-edition вдруг ломается и перестаёт работать - кто помешает пользователю просто выкинуть его на помойку и поставить vanilla PHP и запускать тот же самый PHP-скрипт в чистом PHP?

шифрованность файла данных - это хорошо, когда этот файл используется по частям защищённым кодом. Но когда файл ЦЕЛИКОМ расшифровывается и ЦЕЛИКОМ хранится в памяти в "правильном" виде (а как иначе работать интерпретатору) - кто помешает "сдампить" всю память процесса и вытащить весь скрипт в чистом виде?
Кроме того, многие скриптовые языки свою программу считают данными, не уверен насчёт PHP. Можно в PHP исходник текста программы записать в какую-нибудь строковую переменную, в файл? Если да, кто помешает пользователю, используя любой незашифрованный модуль скрипта, вставить туда такую команду? А может быть и вставлять не потребуется, может быть в PHP есть какая-нибудь встроенная debug console, как для JS в браузерах.

IMHO всерьёз парировать это можно только модифицировав интерпретатор - т.е. добавив в него нoвые функции языка, а ещё лучше - тайно модифицировав поведение стандартных команд языка в некоторых обстоятельствах и завязав логику программы на это противостандартное поведение PHP.

Но - это во-первых по сути мало отличается от варианта 1 (вынос логики в отдельную DLL). Во-вторых - это может вызвать большие проблемы для будущей разработки и поддержки ("всегда пишите программы так, как будто следующий программист, которому отдадут ваш код, будет кровожадным психопатом, и у ннего будет ваш домашний адрес" ;) .
И в третьих - сам "искажённый язык" уже будет "производное произведение" и вот тут как раз FLOSS-лицензии могут сыграть, если они GPL-like. А могут и не сыграть, если они BSD-like или MIT-like.
В четвёртых, это вполне вероятно будет легко заметить. Именно те куски программы которые будут внезапно ломаться при переходе на стандартный PHP надо будет переписать "правильно". Сделать так, чтобы программа ломалась, но было трудно понять в каком именно месте - само по себе задачка.
 
Дмитрий, да, в целом всё верно излагаете.  ;)
И тем не менее, оба описанных мною варианта возможны, хоть и имеют свои "+" и "-".
Страницы: 1
Читают тему (гостей: 1)