Свой софт: серийный номер с датой регистрации внутри?

PaulMinelly

Новичок
Свой софт: серийный номер с датой регистрации внутри?

Написал свою программулину. Собираютсь продавать. Сделал триал-версию на 2 недели. Юзеру даю тестовый ключ.
Но в ключ надо вложить дату начала или окончания срока действия лицензии и чтобы ключ выглядет непонятно для пользователя как 126378172361823 или например это был бы результат md5() функции или еще как-то? Кто понимает о чем я?

Есть такой вариант сделать хеш текущей даты, например md5(date()) = получится какой-то хеш. Это и будет ключ. Юзер вставляет этот ключ в мой скрипт и скрипт каждый раз перебирает 365 дней для поиска какому же дню соответствует пользовательский ключ. Но это имхо гемор какой-то. Может у кого лучшее решение есть, как делать ключи с датами внутри?
 

WP

^_^
PHP:
$info = $timestamp.';name';
$key= base64_encode($info.';'.md5(md5('topsecretkey').$info.md5('and here'))."\x00");
 

WP

^_^
Просто так. После него еще можно соли дописать, а часть декодировщиков не покажет :)
 

Romantik

TeaM PHPClub
PaulMinelly
а что мешает мне инклюдить твой скрипт в свой и вычислить ключи?
 

WP

^_^
Romantik
Дык можно вообще дебаггером пройтись, или Zend Decoder'ом. Вопрос усилий. А как ключи ты собираешься инклюдом вычислять? ;)
 

Romantik

TeaM PHPClub
я помню как когда-то баловался таким и прекратил когда нужно было уехать и в это время ключ закончился и один уважаемый просто пододвинул дату в заэнкоденном скрипте и после этого остыл к подобному.
А как ключи ты собираешься инклюдом вычислять?
ну я имею ввиду переменные, которые потом работают для сверки, если только сами переменные не делать мегасекурными и не энкодить все.... но это таки да это вопрос усилий.
 

magic

lancer
PaulMinelly
Совет. Не нужно в ключ забивать какую-либо информацию. Как-то - пользователь, дата истечения, IP сервера и т.п. и т.д.
 

PaulMinelly

Новичок
Каких усилий? Скрипт заэнкоденный, файл один. Ключ во внешнем текстовом файле читается из закодированного php скрипта. Кроме ДеЗенда и смены системного времени ничего не поможет. Никакую дату не пододвинешь другую.
Все ясно, благодаря коллективному разуму :) Спасибо :)

Вопрос 2: Решил усовершенствовать систему. Вообще классно!
Хочу сделать чтобы скрипт проверял лицензию коннектясь ко мне на мой сервер и смотрел истекла ли лицензия для домена или нет. Плюсы: сам будет регистрироваться, пользователю мозг парить не надо фразами "а теперь иди туда, введи то, получишь ключ, введи его туда". Все вроде бы клево, НО: Есть минимум три независимых способа скачать ключ с удаленного сервера:
1. Sockets
2. CUrl
3. fopen("http://VendorBigServer.com/GetKey.php?client.com", "r");
... может еще какие есть.

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

Вопросы:
1. Может быть что вообще все запрещено и ключ я скачать не смогу со своего сервака?
2. Есть ли какой-либо класс, который сам бы выбирал рабочий вариант, смотрел есть ли и работают ли Sockets, CURL, fopen() и скачивал ключ работающим вариантом? Чтобы самому такую проверу не писать и не дебажить. Кто знает? Покритикуйте идею плиз.
 

bkonst

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

PaulMinelly

Новичок
Понятно. Мне бы класс? Если не удается скачать, тогда сделаю диалог пользователю "иди туда, беги ключ, вставляй сюда, и т.п".
 

antson

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

PaulMinelly

Новичок
Автор оригинала: antson
упал твой хостер - легли ..дцать сайтов.
Это нормально. На то и рассчет. Ключ будет проверяться один раз все ок. Но. Мне лично не известно на сколько распространено то, что вырублены все методы скачивания ключа с другого сервака? Как часто? Вот например что врублен safe mode я могу сказать что это редкость. Офигительная для моей ниши скриптов (она большая для бесплатных хостингов) но для меня safe mode - это фигня. А вот насколько часто могут быть вырублены все способы вскачать лецинзию серваком? Ваши оценки?
 

denver

?>Скриптер
PaulMinelly
сам будет регистрироваться, пользователю мозг парить не надо фразами "а теперь иди туда, введи то, получишь ключ, введи его туда
Впечатление что ты все же хотешь скрыть это от пользователя.. Вобщем, в любом случае есть выход, если только не этот "плохой". Как минимум (в случае неудачи) выводить инструкцию пользователю со всем объяснением как зарегистрировать.. Тогда уже не столь важно сколько таких случаев - 30% или 0.1%
 
Сверху