Добро пожаловать к нам в гости! Наш сайт посвящён программе NeoBook, с помощью которой вы легко сможете создавать собственные мультимедиа-приложения без необходимости изучать сложные языки программирования! Зарегистрируйтесь, чтобы стать членом нашего сообщества.
Дата: Пн, 07 Сентября 2009, 01:43 | Сообщение # 122
Генератор идей
Модераторы
Сообщений: 3173
Offline
А что, если на сервере будет лежать файл, выполняющий роль базы данных, а всё, что надо будет делать прога самого пользователя (скачанная им демо, еще не ставшая триал...)? Т.е. прога идет на сервер, читает файл - смотрит там записи серийника, если такового там нет, то записывает и берет данные для генерации триал-ключа или активационного ключа. Т.е. почему бы самой распространяемой проге не выполнять роль генератора ключей? Пусть себе генерит и пишет в тот же ini на сервере, ну или придумать там хитрое расширение... Таким образом прога пользователя сама себя будет регистрировать! Зачем нам дублировать человеческие действия с почтой, если прога может все сделать проще? А вот файл энтот хранить на серваке в шифрованном виде, чтобы если что...
Правда эта схема не пройдет с ситуацией отсутствия интернета. Надо будет все равно предусмотреть автоматизацию запроса...
Эх, не дадут пофантазировать... Фантазия в учебных целях - это же "полезное воображение"! А хостинг у меня платный, поддерживает все на свете, не в этом дело. Любопытна сама задача - как можно красиво организовать триальность... Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Сообщение отредактировано VadimLevkin - Пн, 07 Сентября 2009, 01:45
Дата: Пн, 07 Сентября 2009, 02:08 | Сообщение # 125
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Quote (VadimLevkin)
если прога может все сделать проще?
можно и проще, кто спорит, но я ж говорю что создавать все это - дело профессионалов, а не наше с вами. если клиентскую часть еще можно легко сделать, то серверную... хм. тогда надо разобраться вначале как вести БД, отправлять запросы и получать ответ с сервера, иначе никак ниасилить Как задавать вопросы
Дата: Пн, 07 Сентября 2009, 06:51 | Сообщение # 126
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (DEMBEL)
вначале как вести БД, отправлять запросы и получать ответ с сервера
я попробую примерчиг сделать, когда домой приеду, я не специалист по sql и php, но чем смогу помогу. нуна тока найти сервер для теста, чтоб если что протестить вот учителя: MySQL (БД) PHP для общего развития
Дата: Пн, 07 Сентября 2009, 13:02 | Сообщение # 128
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Quote (Alex3A)
это если без связки с ПХП.
я в этом не слишком разбираюсь, но представляю себе что клиентская часть будет отправлять запрос к бд и получать ответ посредством пхп скрипта на сервере. это правильная логика? Как задавать вопросы
Дата: Пн, 07 Сентября 2009, 13:39 | Сообщение # 129
Друг клуба ММВ
Проверенные
Сообщений: 2713
Offline
Quote (DEMBEL)
но представляю себе что клиентская часть будет отправлять запрос к бд и получать ответ посредством пхп скрипта на сервере. это правильная логика?
Вполне првильная, при использовании пхп, посредством скажем, формы хтмл данные отправляются на серверный сценарий, который и формирует запрос к базе данных. Возможен иной путь, сразу отправить прямой запрос базе, и получить ответ. Это более елегантный способ, но и более сложный. Сложность состоит в изготовлении клиента MySQL, корректной организации прав доступа к серверу мускула.
Дата: Вт, 08 Сентября 2009, 02:24 | Сообщение # 130
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (sp3d)
вот учителя:
Спасибо! Уж мануал, так мануал! Одно оглавление на несколько страниц... Занес в Избранное. Однако, сдается мне, для первой версии моей проги достаточным будет то, что уже сделано. А далее будет видно. Всего сразу не сделаешь, всему сразу не научиться...
Дата: Ср, 09 Сентября 2009, 22:48 | Сообщение # 134
Генератор идей
Модераторы
Сообщений: 3173
Offline
Сергей, правильно ли я понял, из примера, что на страницу "хост" передается "дата" и "серийник", а назад придет регистрационный ключ? Как он делается? А кнопка "редактировать запрос" показывает что можно править (кодировать) передаваемые данные?
Добавлено (09 Сентябрь 2009, 22:48) --------------------------------------------- Можно попросить пару направляющих слов, в объяснение? Какие функции выполняют файлы?
Дата: Ср, 09 Сентября 2009, 23:00 | Сообщение # 135
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (VadimLevkin)
Сергей, правильно ли я понял, из примера, что на страницу "хост" передается "дата" и "серийник"
совершенно верно
Quote (VadimLevkin)
назад придет регистрационный ключ?
типа того, по мимо кода активации приходит(чисто для просмотра) дата, серийник и код активации. Но это все можно отрегулировать, мона с отправкой на ящик, завтра сделаю с отправкой на мыло. Поидее возращатся будет только сообщение об успешном\неуспешном соединении или просто что активация отправленно на мыло, и попутно осылатся на почтовый ящик код активации. В моем примере, просто показанно, что все работает и при втором обращении с этого же компа выдаст, что регистрация была
Дата: Ср, 09 Сентября 2009, 23:06 | Сообщение # 137
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (sp3d)
Но это все можно отрегулировать, мона с отправкой на ящик, завтра сделаю с отправкой на мыло. Поидее возращатся будет только сообщение об успешном\неуспешном соединении или просто что активация отправленно на мыло, и попутно осылатся на почтовый ящик код активации.
Спасибо!!! Очень интересно! Кажется волшебников прибыло! Я еще нифига не понимаю, но то, что я читаю мне очень нравится!
Дата: Ср, 09 Сентября 2009, 23:11 | Сообщение # 138
Необукер
Проверенные
Сообщений: 4238
Offline
тебе надо приготовить форму, как ты себе предстовляешь будет выглядеть это окошко по поводу регистрации, я просто еще не знаю как там заложенно + надо сделать поле для ввода клиентского ящика. Если не трудно сделай форму, и думаю не стоит показывать юзеру что регистрация происходит по иду, можно его как то передалать, например ид умножить на 2 или еще какое нибудь действие
Дата: Ср, 09 Сентября 2009, 23:15 | Сообщение # 139
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (sp3d)
Если не трудно сделай форму, и думаю не стоит показывать юзеру что регистрация происходит по иду, можно его как то передалать, например ид умножить на 2 или еще какое нибудь действие
Дата: Ср, 09 Сентября 2009, 23:19 | Сообщение # 140
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (VadimLevkin)
Да, и я тоже думаю, что лучше кодировать, не показывать что передается
но показать, то, что то надо! Ведь это реализация через саму прогу, а если инета нет, или он решил зарегистрировать с другого компа, где есть инет или через смс. Это все надо придусмотреть, если хотим делать привязку к HDSerialNum, но так чтоб самим потом расшифровать, для генерации кода активации
Сообщение отредактировано sp3d - Ср, 09 Сентября 2009, 23:26
Дата: Ср, 09 Сентября 2009, 23:34 | Сообщение # 141
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (sp3d)
чтоб самим потом расшифровать, для генерации кода активации
Конечно!
Добавлено... Файл проекта тот же самый, я только страницу с формой добавил. На первой кнопке не успел еще повесить код, на кнопках "Закрыть" и "Позже" код одинаковый.
Дата: Чт, 10 Сентября 2009, 04:23 | Сообщение # 142
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Не торопитесь ребята, систему генерации и шифрования уникального ID (ключа) компьютера надо продумать. Юзер может сгенерировать ID для своей машины оффлайн, а ввести его в форму и получить код разблокирования может и на другой машине (онлайн-активатор можно оформить и как отдельное приложение (чтобы можно было его запустить с др. компа), а в самой программе только генерировать ключ, вводить код активации и проверять его). Использовать встроенную команду HDSerialNum лучше не надо, есть другие идеи...
Сергей, правильно ли я понял, из примера, что на страницу "хост" передается "дата" и "серийник", а назад придет регистрационный ключ? Как он делается?
Погодите, если я правильно понял, то это мы делаем для того чтобы активировать триал-период (мы ведь об этом тут вроде?), мы заносим ключ в БД а в ключе зашифрован идентификатор компа и дата, прога проверяет базу на наличие ключа - если есть ключ то смотрим дату - если она превышает допустимую, то конец триалу. А вот кто будет генерировать лицензионный ключ со стороны автора - скрипт на сайте или прога у автора на компе - это вопрос... Как задавать вопросы
Дата: Чт, 10 Сентября 2009, 08:02 | Сообщение # 143
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (DEMBEL)
А вот кто будет генерировать лицензионный ключ со стороны автора
если делать автоматизацию, то на сервере лучше
Quote (DEMBEL)
Использовать встроенную команду HDSerialNum лучше не надо
почему, прикольно по HDSerialNum, это почти, как отпечаток пальца
Quote (DEMBEL)
есть другие идеи...
подождемс...
Добавлено (10 Сентябрь 2009, 08:02) --------------------------------------------- Всеравно, все, что мы тут придумаем, это детский лепет на лужайке Возьмите монстров ПО, у которых все триалы трескуются как орехи, а ведь там профи занимаются этим вопросом. Так что вся наша защита, это лишь от простых юзеров.
Дата: Чт, 10 Сентября 2009, 12:37 | Сообщение # 144
Генератор идей
Модераторы
Сообщений: 3173
Offline
Quote (DEMBEL)
Не торопитесь ребята, систему генерации и шифрования уникального ID (ключа) компьютера надо продумать.
Конечно, спешка здесь не нужна. Для первой версии своей проги я видимо оставлю тот вариант, что уже у меня есть (сейчас в проге пора уже сосредоточиться на содержательной ее части), однако в будущих версиях хотелось бы сделать защиту более надежной и функциональной, поэтому буду очень рад развитию этой темы. Кроме прочего, организация триальности/активации - сама по себе увлекательная задача!
Quote (DEMBEL)
Юзер может сгенерировать ID для своей машины оффлайн, а ввести его в форму и получить код разблокирования может и на другой машине
Возможность генерации ID оффлайн предусмотрена, а вот полученный на одной машине пароль на другой машине не заработает, для этого как раз и нужен серийник, чтобы иметь возможность регистрировать кол-во компьютеров на которые разрешено устанавливать программу (ведь разные лицензии могут предусматривать разное кол-во рабочих мест). Можно попробовать привязать к e-mail, но ведь тогда не получится управлять лицензиями, предусматривающими определенное количество компьютеров... Мне кажется без серийника тут не обойтись, да и зачем, если смысл будет тот же - привязать к компьютеру? Мне кажется эта глобальная переменная очень удобна и проста в использовании.
Quote (DEMBEL)
есть другие идеи...
Это очень интересно!
Сейчас я предлагаю (к обсуждению) такой общий подход: "Демо/Триал/Активация" Т.е. пользователь, скачавший программу, может ознакомиться с ней в Демо режиме (может быть ему этого окажется достаточно чтобы сделать выбор или просто понять - есть ли смысл дальше тратить на нее время; а главное - Демо-версия даст человеку возможность хоть как-то посмотреть на программу - без одной-двух важных функций, пока нет доступа к триал-версии, а не отфутболит в интернет за регистрацией триал-версии, что вообще говоря не очень привычно...). Чтобы ощутить полнофункциональную триал-версию - пользователь, будучи подключенным к интернет, вводит свой e-mail и нажимает специальную кнопку "Запросить пароль доступа мне на e-mail" (либо копирует из формы ID и отправляет его вручную, на мыло разработчика). Эта же самая форма используется и для активации (если в базе покупателей содержится уже данный e-mail (и кол-во зарегистрированных компьютеров - серийников - не превышает оплаченное в лицензии число), то автоматом выдается активационный пароль и ввод пароля приводит не к включению триал-версии, а к активации программы. Только надо будет в форму добавить опцию выбора (через окно выбора): "запросить доступ к триал-версии" или "запросить активацию программы", а то получится, что покупатель решил кому-то показать триал-версию, а там подключен интернет и в итоге он активирует программу совсем не на том компьютере, где хотел .
Так что вся наша защита, это лишь от простых юзеров.
Так и есть. Однако "выходя под дождь, лучше, все же, захватить зонтик...". К сожалению уровень культуры общества еще таков, что если оставить возможности к легкому взлому (доступные едва ли не каждому), то эти возможности будут реализованы :). Бесплатный онлайн курс программирования в VisualNEO Win (NeoBook)
Дата: Чт, 10 Сентября 2009, 13:10 | Сообщение # 145
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Quote (sp3d)
Возьмите монстров ПО, у которых все триалы трескуются как орехи,
Да тут скорее саму программу треснут, чем триал. Сами по себе онлайн-проверки и активацию еще мало где удалось треснуть.
Quote (sp3d)
HDSerialNum
Вроде как это не настоящий серийник диска, а номер, выдаваемый системой диску при его форматировании, после переформатирования он будет другим. Как задавать вопросы
Дата: Чт, 10 Сентября 2009, 16:32 | Сообщение # 147
Необукер
Проверенные
Сообщений: 4238
Offline
Quote (DEMBEL)
после переформатирования он будет другим
странно, есть желающие проверить это?! никто в ближайшее время не собирается устанавливать винду?!
Добавлено (10 Сентябрь 2009, 16:24) --------------------------------------------- DEMBEL, ты случайно не о номере тома пишешь, он меняется при форматировании, а этот вроде физический(железный т.с.) не должен
Добавлено (10 Сентябрь 2009, 16:32) --------------------------------------------- Где то читал(не помню), что типа MAC-адрес сетейвой карты не меняется, но сам я точно незнаю. Кстати, надо учесть и то, что какую не делай привязку к железу, его могут сменить (например юзер решил сделать обгрейд хдд)
Дата: Чт, 10 Сентября 2009, 18:37 | Сообщение # 148
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (DEMBEL)
Вроде как это не настоящий серийник диска, а номер, выдаваемый системой диску при его форматировании, после переформатирования он будет другим.
Quote (VadimLevkin)
Если это не настоящий номер диска, то задача усложняется...
Да, как ни печально, но...
Quote (NeoSoft Support)
[HDSerialNum] is the serial number of the PC's C: drive. This is a random number generated by Windows/DOS when the drive is formatted. If you reformat the drive, the serial number will change
В принципе, серийник жесткого диска можно вытащить из его биоса, но уже только при помощи плагина. На офсайте NB есть VB-функция для этого, но она, к сожалению, не универсальна, и в целом ряде случаев не "попадает в цель".
Quote (sp3d)
Кстати, надо учесть и то, что какую не делай привязку к железу, его могут сменить (например юзер решил сделать обгрейд хдд)
Вот именно! Если уж и делать "привязку" так к номеру самой операционки (ProductID). Но... Подобное уже проходили с самой ХР (активация)! Казалось бы, нашли самое надежное средство! Как бы не так... Если ничего не путаю, то ХР былв выпущена в продажу 21(25) октября 2001. Так вот, уже в первую(!!!) же ночь после начала продаж в сети появился первый кряк для слома активации! И если уж и делать "ограничения", то не "триал" вариант, а "дэмо" с просто вырезанными физически некоторыми важными опциями программы! После "оплаты-регистрации" юзеру либо высылается полная версия, либо дается временная ссылка для скачивания. Да и вообще, не ТЕМ занимаемся!...
Сначала нужно сделать такую прогу, которую кто-нибудь захочет сломать (украсть), а уж потом...
Как вы думаете, почему ас-мастер в один прекрасный момент сделал свою знаменитую "Кулинарную книжку" бесплатной?...
Quote (sp3d)
Всеравно, все, что мы тут придумаем, это детский лепет на лужайке Возьмите монстров ПО, у которых все триалы трескуются как орехи, а ведь там профи занимаются этим вопросом. Так что вся наша защита, это лишь от простых юзеров.
Ну наконец-то! Я уж устал это повторять... - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться
Дата: Чт, 10 Сентября 2009, 18:55 | Сообщение # 149
Наш дизайнер
Администраторы
Сообщений: 5959
Offline
Quote (Peter)
В принципе, серийник жесткого диска можно вытащить из его биоса, но уже только при помощи плагина. На офсайте NB есть VB-функция для этого, но она, к сожалению, не универсальна, и в целом ряде случаев не "попадает в цель".
я уже делал нечто подобное на vbs, и скрипт есть - берется серийник процессора, текущая дата -> шифруется все это с помощью алгоритма base64 и еще кое-чего -> получается уникальный ключ, например такой
в приложении активатора ключ расшифровывается, запоминается дата, к ней прибавляется срок действия лицензии, имя пользователя - зашифровывается -> лицензионный ключ. Но все это происходит на локальных машинах, как сюда привлечь операции со скриптами и БД на сервере я не в курсе. Как задавать вопросы
Дата: Чт, 10 Сентября 2009, 19:07 | Сообщение # 150
Админ NeoBook
Администраторы
Сообщений: 7425
Offline
Quote (DEMBEL)
как сюда привлечь операции со скриптами и БД на сервере я не в курсе.
Гм... Я - тоже. - А вам какую операционку поставить - экспи, семерку или висту? - Это ты сейчас о чем? - Олег Георгиевич, вам какой компьютер хотелось бы - молодежный или надежный? - Ну, конечно, надежный! - Вот, значит - экспи, без вопросов! Сейчас сделаем...
(Улицы разбитых фонарей, сезон 10, серия 17)
Единственная инновация Windows 8 это - Metro, чтобы дебилы по иконкам не промахивались!
При модном втюхе модоподдающимся начинает нравиться