Защита кода
#1
Posted 15 May 2009 - 01:53 PM
Хочу к своей коммерческой разработке прикрутить небольшую штуку, чтобы можно было защитить код от воровства.
Хочу где-то в индексе или yii.php соединятся с БД основного сервера и запрашивать лицензионный ключ. Как можно установить соединение с БД в таком файле? Посоветуйте, какой лучше для этого использовать файл, который блокировал бы работу всего сайта при выполнении определенного условия?
#2
Posted 16 May 2009 - 04:32 AM
- Зашифровать файл (малоизвестным, но достачно неплохим шифрощиком)
- Попытаться положить файл на основной сервер и инклудить его оттуда - тут пара проблем: надо чтобы php.ini позволял нам удаленные файлы инклудить, второе - по умолчанию Yii ищет классы локально внутри себя...(
#3
Posted 16 May 2009 - 04:33 AM
Весь код будут видеть и смогут смоделировать такуюже структуру базы данных у себя. поэтому в твоей защите пропадает какой либо интерес если не будет шифрования самих исходных файлов. Используй ZendGuard или другие продукты в этом направлении.
#4
Posted 16 May 2009 - 04:36 AM
if (ключ_получил и ключ отличный) {
// выполняем функции которые всеравно находятся в исходниках
} else {
// сыпим ошибки
}
Так вот в любом случае пользователю проще удалить нафиг твою проверку на лицензирование и просто обратиться напрямую к исходникам. как я уже сказал вариант только шифрование исходников если ты не собераешся выпускать коды под нормальной лицензией. все такие защиты как ты предлагаеш ломаются за полчаса. если ты решиш написать супер защиту самого главного файла что б люди невидели какие функции ты будеш запускать для старта - так прикрутят просто отличный дебагер что б пролистать все функции которые запускаются. короче гиблая у тебя идея как я уже сказал.
либо не распостраняй код, либо полностью шифруй и клей защиты либо напиши SOAP интерфейс который будет кушать поочередно код с сервера (но всеравно надо шифровать SOAP клиент на стороне покупателя) либо откажись от создания ком. приложений которые ты собераешся распостранять исходным кодом.
#5
Posted 16 May 2009 - 06:15 AM
Короче я понимаю, что если кому-то приспичит, то обойдут, но моя задача - сделать минимально защиту, чтобы от дурака она сработала и если что дураку мы дали по голове, ну а умному надо будет так он из любого положения вытащит нужные данные, тут уж хоть что попиши
#6
Posted 16 May 2009 - 08:37 AM
то что вы начитались про ZG я конечно рад, но если вы его не использовали и не взаламывали - ненадо писать что его обходят только так. покажите мне доступный декодер последней версии зенда, очень интересно посмотреть.
#7
Posted 16 May 2009 - 12:22 PM
#8
Posted 16 May 2009 - 12:51 PM
Расскажите тогда по теме в двух словах что будет из себя представлять проект который вы собераетесь распостранять среди людей и хотите защитить его. и самое главное какие цели приследуются при защите (если лицензия истекла тогда скрипты перестают работать? база проекта находится у вас на сервере или распостраняется вместе с программой?)
#9
Posted 16 May 2009 - 01:29 PM
#10
Posted 16 May 2009 - 03:19 PM
Ну а что касается моего проекта, это наш CMS, который мы очень активно внедряем на сайты клиентов. И проблема не в том, что он мегакрут и наворочен, нет, отнюдь. Вполне себе самодостаточный двиг, дело в том, что в городе очень сильна конкуренция и того и гляди уведут и перенимут себе его, т.к. город маленький, а др.компании-монстры уже постарели и им было бы кстати что-то подобное взять. Вот чего и боюсь.
Вот я наверное и объяснил цель защиты нашего продукта. Это отнюдь не подростковая кичливости, просто реальное положэение дел на локальном рынке в нашем городе.
БД распространяется с проектом если вы про БД с данными сайта, а если с данными лицензий - то на нашем сервере, но вот этот момент пока временный. Я пока не знаю как лучше сделать, собственно потому тут и написал, хотя и понимаю что затеял заезженную тему. Статей перерыл немало, вот например тут увидел абсолютно тоже самое, что вы говорите: http://habrahabr.ru/blogs/php/29301/
Поэтому не думайте, что я это прибежал и решил защитить, я основательно хочу подойти к делу, вот и прошу совета.
Кстати, о ZEND много сказано в той статьей на хабре, а про нас - он дороговат пока для нашего кармана. Мы купили вот такую штуку на пробу: http://zorex.info - кстати тут есть и онлайн шифратор файлов, еще он делает привязку по домену и ip, вообщем неплохая вещь и недорого.
#11
Posted 17 May 2009 - 06:55 AM
Quote
прочитал! Спасибо!
#12
Posted 30 May 2009 - 04:02 AM
Quote
Уже есть какие-то выводы по использованию zorex? Действительно хорошая вещь? Как влияет на производительность?
#13
Posted 30 May 2009 - 04:31 AM
что касается самой системы: защита, что достаточно удобно, представляет собой приложение на php, кторое можно поставить себе на сервер, что я и сделал, для его работы требуется база MySQL. Модуль защиты - подключаемый скрипт на php, зашифрованный в несколько слоев. Функции обфускатора нет, в целом выбран был потому, что из бесплатных все в основном имеют дешифраторы, а из платных в основном дорогущие, да и тоже могут быть дешифрованы (например как зенд, судя по отзывам и наличию даже спец.сайтов), а у этого и ценник мизерный, и поддержка работает нормально и небольшое комьюнити сформировалось => он не столь популярен, поэтому и вероятность его дешифрации тоже ниже и интерес к нему.
Хороший обзор кстати тут есть: http://www.manhunter...odifikacii.html
#14
Posted 30 May 2009 - 08:36 AM
Quote
делай сайт на CGI
#15
Posted 30 May 2009 - 01:40 PM
#16
Posted 30 May 2009 - 05:30 PM
Quote
не только. если устоялась логика, можно и переходить, поддерживать будет сложнее, но работать будет быстрее. и главное ты полностью контролируешь ситуацию и клиента держишь в кармане.
#19
Posted 31 May 2009 - 12:58 PM
Quote
если ты про asp.net то я категорически против
уж очень тормознутая фигня

Help












