Модераторы: skyboy, MoLeX, Aliance, ksnk

Поиск:

Закрытая темаСоздание новой темы Создание опроса
> Алгоритм системы обновлений CMS 
:(
    Опции темы
Crone
Дата 13.11.2006, 00:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 19.8.2006

Репутация: нет
Всего: 1



Долго думали втроём, но так и не пришли к решению следующей проблемы:
Есть CMS. Необходимо реализовать систему лицензионных ключей / обновлений системы. Должно быть так: человек покупает систему и получает от нас лицензионный ключ на одну копию системы. тот ключ используется при загрузке обновлений системы. Проблема стоит вот в чём: как остледить, используется ли этот ключ только на одном сайте или на нескольких? Может человек установил себе вторую копию системы на поддомен и хочет нахаляву загружать обновления. Соединение с сервером обновлений будет осуществляться, как мы решили, по сокетам, куда будут писаться необходимые данные, а в ответ получать обновления.

Есть у кого мысли?
PM MAIL   Вверх
G0rinich
Дата 13.11.2006, 15:08 (ссылка) |    (голосов:2) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 21.8.2006

Репутация: нет
Всего: 1



После обновления системы старый ключ удалять и выдавать новый.
Т.о. по старому ключу обновиться больше не удастся.
Заодно пользователи будут заинтересованы в нераспространении своего ключа. Иначе они потеряют возможность обновляться.
Это только в самых общих чертах и для однопользовательской копии программы.
PM MAIL   Вверх
Crone
Дата 13.11.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 19.8.2006

Репутация: нет
Всего: 1



Спасибо, мысль достаточно интересная, надо подумать.
PM MAIL   Вверх
Crone
Дата 13.11.2006, 16:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 19.8.2006

Репутация: нет
Всего: 1



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

PM MAIL   Вверх
skifoz
Дата 13.11.2006, 17:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 23.1.2006
Где: Россия

Репутация: 1
Всего: 1



На пхп дак точно никак, если только проверять ИП адресс клиента который запросил обновление. т.е смотреть если это ип поменялся то не обновлять. Ну тут в принципе нужно еще подумать. А вообще морока как с виндой прям паленой, которой тоже дофига копий и мелкософт с этим пытается бороться.
PM MAIL WWW   Вверх
Crone
Дата 13.11.2006, 17:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 19.8.2006

Репутация: нет
Всего: 1



На одном IP может быть дофига сайтов. Может просто проZendить всё это и не париться?
PM MAIL   Вверх
Mal Hack
Дата 13.11.2006, 18:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Вариант первый - обфускация кода.
Вариант второй - открытое ПО с donate системой, как мне кажется больше получишь.
Вариант третий - с ключами. НО ключ привязывается к каким лмбо персональным данным, которые люди не желательно будут распространять. К примеру фамилия. При это варианте все равно будет работать варежная система для своих.
PM ICQ   Вверх
skifoz
Дата 13.11.2006, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 85
Регистрация: 23.1.2006
Где: Россия

Репутация: 1
Всего: 1



А чем твой первый вариант мешает использованию системы на другом сайте???
PM MAIL WWW   Вверх
Mal Hack
Дата 13.11.2006, 20:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(skifoz @  13.11.2006,  19:44 Найти цитируемый пост)
А чем твой первый вариант мешает использованию системы на другом сайте???

Если в conf.php будет какая-ть конфигарция привязывающая скрипт к одному серверу, то запустить его на другом - проблематично.
PM ICQ   Вверх
Crone
Дата 13.11.2006, 22:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 19.8.2006

Репутация: нет
Всего: 1



Mal Hack, Вариант с персональными данными очень понравился. А donate-система это как?
PM MAIL   Вверх
Mal Hack
Дата 13.11.2006, 23:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Crone @  13.11.2006,  22:35 Найти цитируемый пост)
А donate-система это как? 

Это как mozilla.org. За ПО не платишь, а если хочешь спонсируешь по мере сил и возможностей.
PM ICQ   Вверх
Eugene_Bond
Дата 14.11.2006, 00:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 138
Регистрация: 3.9.2006

Репутация: 1
Всего: 4



IonCube и система лицензий. Каждому клиенту генерируется лицензия с привязкой к домену или IP (лучше к тому и другому). В лицензию так же можно добавить переменные (например список модулей, которые можно обновлять).
PM MAIL   Вверх
Mal Hack
Дата 14.11.2006, 00:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Мудрый...
****


Профиль
Группа: Участник Клуба
Сообщений: 9926
Регистрация: 15.2.2004

Репутация: 8
Всего: 261



Цитата(Eugene_Bond @  14.11.2006,  00:03 Найти цитируемый пост)
IonCube

Поподробней, пожалуйста.
PM ICQ   Вверх
Crone
Дата 14.11.2006, 02:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 19.8.2006

Репутация: нет
Всего: 1



Цитата(Mal Hack @  14.11.2006,  00:09 Найти цитируемый пост)

Поподробней, пожалуйста. 

Да, мне тоже интересно.

Добавлено @ 02:46 
Как я понял, IonCube - такой шифровальщик. А чем ZendEncoder не устраивает? Ведь он более распространён на хостингах.
PM MAIL   Вверх
G0rinich
Дата 14.11.2006, 11:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 35
Регистрация: 21.8.2006

Репутация: нет
Всего: 1



Цитата(Crone @  13.11.2006,  16:10 Найти цитируемый пост)
Пока ехал с работы, вот над чем подумал: пользователи же смогут написать простенький скриптик, который будет выдирать из базы этот ключ и выкладывать на всеобщее обозрение на общедоступную страницу, а потом каждый воспользовавшийся функцией обновления будет обновлять ключ на этой странице. Вот как это побороть?


Да ничего бороть не надо.
Если дело конечно только в обновлении.
После установки генерируется ключ. Абсолютно любой. И регистрируется в системе обновлений.
При обновлении система проверяет ключ и если он совпадает выдает новое обновление. После чего генерирует новый ключ. Передает его копии программы и регистрирует у себя.

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

Это самая простая схема без всяких заморочек. Можно еще немного подстраховаться на случай, если новый ключ после обновления не дойдет до пользователя по техническим причинам. Для этого так же надо хранить предыдущий ключ и на его запрос повторно высылать новый.
PM MAIL   Вверх
Закрытая темаСоздание новой темы Создание опроса

Внимание: данный раздел предназначен для решения сложных, нестандартных задач.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Для профи | Следующая тема »


 




[ Время генерации скрипта: 0.0896 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.