Как правильно защитить скрипты от свободного распространения?

12
humbert
На сайте с 16.03.2006
Offline
540
1087

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

Но тут возникло желание защитить скрипты, а как правильно не умею.

Помогите, пожалуйста.

Основная цель - отслеживать распространение скриптов.

Парсинг прайс-листов, наполнение интернет-магазина товаром. (https://humbert.ru) Любая CMS (Битрикс, OpenCart, Prestashop и даже Woo Commerce )
satrau
На сайте с 08.11.2009
Offline
12
#1

надо смотреть в сторону ZEND.

Россошь (http://www.flash9.ru)
[Удален]
#2

тоже интересует.

Зенд дело хорошее, а как насчет привязки к железу? какова реализация?

T.R.O.N
На сайте с 18.05.2004
Offline
314
#3
zerorw:
а как насчет привязки к железу

пока скрипт имеет открытый вид, привязать к железу не получится. Если скрипт закрыт, делаете очень простенький USB ключик и все ок. Хотя можно сделать и без ключа. В любом случае, нужно получить ID процессора, винтов и прочего и на этих данных создать ключ-запрос. Своим софтом формируете отклик.

Второй вариант - запросы с какими-либо интервалами к инет-серверу для подтверждения лицензии.

От воздержания пока никто не умер. Хотя никто и не родился! Prototype.js был написан теми, кто не знает JavaScript, для тех, кто не знает JavaScript (Richard Cornford)
kxk
На сайте с 30.01.2005
Offline
990
kxk
#4

humbert, Ioncube + обфускация и многочисленные спрятанные проверки в куче файлов, имхо.

Ваш DEVOPS
T.R.O.N
На сайте с 18.05.2004
Offline
314
#5
kxk:
Ioncube + обфускация и многочисленные спрятанные проверки в куче файлов, имхо.

проблема обходится под локальным сервером за несколько дней

PyMbIH
На сайте с 22.11.2009
Offline
76
#6
humbert:
Никогда не интересовался этим вопросом, т.к. всегда думал, что если твои скрипты пошли по рукам, значит пишешь ты их нормально.

Но тут возникло желание защитить скрипты, а как правильно не умею.

Помогите, пожалуйста.

Основная цель - отслеживать распространение скриптов.

Задайте себе простой вопрос - оно того стоит? Все надежные средства защиты стоят дорого. Тот же Zend обойдется Вам в кругленькую сумму мертвых президентов Америки. А бесплатные средства не могут обеспечить должный уровень защиты. Все упирается в количество продаваемых Вами скриптов. Если Вы делаете что-то очень хорошее и востребованное, то на чем Вы гарантированно сможете заработать хорошие деньги - конечно есть смысл озадачить себя приобретением защиты. И тогда коммерческий успех будет обусловлен только одним моментом: - что дороже? купить Ваш лицензионный скрипт или сломать защиту?

[Удален]
#7

правило простое - стоимость взлома должна быть выше стоимости защиты.

Взлом айонкуба или зенда стоит $10 за мегабайт псевдокода.

Второе простое правило - ваша защита не должна напрягать енд-юзера

А зенд и айонкуб требуют своих модулей к апачу.

Так что ограничтесь тем, что вставите в них звонилку на ваш сервер. Если они распространяются условно свободно (т.е. скопировал - и оно работает), то в код никто не полезет и вряд ли заметит эту активность.

ЗЫ. Ваще конечно надо один раз просто сесть и подумать, за полтора года я таки придумал хакпруф защиту от копирования для опен-сорц кода, но это не просто техническая реализация, а совокупность хитрых приемов программирования, маркетинга и user policy. Я думаю у вас получится если вы постараетесь. Для ясности - я своим методом делиться не собираюсь. Могу только дать общие базисы:

1) Контрольный код тесно переплетен с кодом исполнимым.

2) Используется связь с внешним сервером

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

bigturtle
На сайте с 12.10.2008
Offline
136
#8

Как бы не старались защитить скрипт, это не возможно в полном объеме. Всегда остается 1% процент, что скрипт может потом распространяться без вашего согласия. Тут бывает и программы должным образом трудно защитить. Выход уже огласили, стоимость взлома и затрат человеко ресурсов>= цене скрипта.

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

Есть еще один прием который по моему плохо описали - маркетинговый, когда пользователь знает, что эти деньги он получает отличную тех поддержку и регулярные дополнения на месяц + еще куча всяких плюшек....

neolord:

1) Контрольный код тесно переплетен с кодом исполнимым.
2) Используется связь с внешним сервером
3) В случае отвязки защиты путем модификации скриптов в продукте открывается несколько критичных уязвимостей, о которых говорится в публично доступном мануале.

Пару вопросов по теме....

1) Согласен

2) Тоже хорошо, но не очень

3) Если говориться в публичном мануале, то уже легче искать следовательно и залатать можно. Не очень эффективно ИМХО.

[Удален]
#9

мануал не включает в себя ничего связанного с кодом.

Там просто написано, что если вы попытаетесь снять защиту от копирования и использовать незаконно полученную версию, то ваш сайт легко можно взломать вот так-то и так-то.

bigturtle
На сайте с 12.10.2008
Offline
136
#10
neolord:
мануал не включает в себя ничего связанного с кодом.
Там просто написано, что если вы попытаетесь снять защиту от копирования и использовать незаконно полученную версию, то ваш сайт легко можно взломать вот так-то и так-то.

Ну например написано, что при копировании и использовании не зарегистрированой версии данные вводимые пользователями будут напрямую вноситься в БД, что может привести к взлому.

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

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

Другое дело не стабильная работа скрипта который сбоит, или редиректом отправляет на сайт производителя .... лучше.... ИМХО

12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий