Демо работа

Тема в разделе "PHP", создана пользователем Sachek, 24 янв 2011.

Модераторы: latteo
  1. Sachek

    Sachek Умелый

    Регистр.:
    23 мар 2009
    Сообщения:
    387
    Симпатии:
    102
    Подскажите как сделать демо скрипта, то есть скрипт, который будет работать скажем 30 дней, а после умирает... И требует скажем продлить лицензию. Варианты типа зенда и ионкуба (там вроде такие функции есть) не подходят. Необходимо именно самописное ограничение. Вот как лучше реализовать, подскажите пожалуйста.
     
  2. CheburatoR-all

    CheburatoR-all Гипножаба

    Регистр.:
    26 апр 2009
    Сообщения:
    295
    Симпатии:
    438
    В phpLockIt реализовано вроде
     
  3. Sachek

    Sachek Умелый

    Регистр.:
    23 мар 2009
    Сообщения:
    387
    Симпатии:
    102
    Спасибо конечно, но малеха не то. Я имел ввиду как это ограничение выглядит в пхп коде :) Как реализовать его по средством кода, а не шифрованием :)
     
  4. gres_18

    gres_18 Pythonобандерівець®

    Регистр.:
    26 апр 2009
    Сообщения:
    407
    Симпатии:
    206
    Без шифрования в этом деле никуда. Какая бы защита ни была, имея доступ к исходному коду, ее обойдет любой школьник. Другой вопрос, если придумать что-то свое в плане кода, а потом шифрануть тем же ionCube.
     
  5. Sachek

    Sachek Умелый

    Регистр.:
    23 мар 2009
    Сообщения:
    387
    Симпатии:
    102
    Я вот это и хочу сделать, то есть сначала сделать свой скрипт демо, потом уже зендом шифрануть и там поставить... В случае, если одна из них не сработает, на помощь придет другая... Меня вот сам алгоритм то и интересует...
     
  6. chang

    chang

    Регистр.:
    20 ноя 2009
    Сообщения:
    363
    Симпатии:
    117
    ну какой тут может быть алгоритм ... если в общем случае то

    вшить в код проверку на то куплена ли прога. К примеру это можно сделать проверяя наличие текстового файла с наличием какого-то ключа полученного самым разнообразным способом.

    если ключ есть и он валидный - продолжаем работу скрипта

    в противном случае проверяем соответствие дат, т.е. не прошло ли 30 дней. Точку отсчета даты также ныкаем где-то в коде. Текущую дату можно получать либо из системного времени ( но системное время могут перевести назад ) либо делая запрос на какой-то внешний ресурс ( всякие там синхронизации часов ....) ну и лучше чтоб было нескоьлко таких "синхронизирующих" ресурсов которые выбираются рандомно ... а то 1-2 могут баблокировать.

    ну и если версия не лицензионная и прошло 30 дней - отправляем юзера за покупкой ...

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


    ну и все эти коды как можно более извращенным способом поназывать ... позапихивать во всякие дебри чтоб человек ничего не нашел.... а лучше пихать и по несколько экземпляров, ну чтоб независимо в нескольких местах проверяло наличие ключа и подобное, т.е. не просто вызов ф-ции проверяющей все это - на наличие независимого полноценого кода.
    таким макаром если обнаружат 1 штуку то 2 будет работать ...
    ну а если нужно найти таких 10-20 вызовов то возможно дешевле будет купить скрипт =).

    Т.е. взломать можно все что угодно ... вопрос лишь в том, насколько рационально это делать ? -)
     
  7. shamantc

    shamantc ЗлОй ШаМан

    Заблокирован
    Регистр.:
    3 ноя 2008
    Сообщения:
    651
    Симпатии:
    183
    ИМХО лучше сделать пару стучалок и подгружать файл(ы) со стороны и все это в ionСube
    ionCube дороговато выйдет что бы расшифровать и занулить человеку
    Собственно можно и сам дичтрибутив ограничить в функионале
     
  8. steel_HILL

    steel_HILL Постоялец

    Регистр.:
    15 апр 2010
    Сообщения:
    53
    Симпатии:
    14
    Он же сказал в первом посте, что ионный кубик не катит(не на каждом хостинге его ставят)...
    Если скрипт реально ценнен, то единственный более-менее приемлемый вариант - залить демо-версию на свой хост и выдавать каждому потенциальному клиенту ограниченный по времени логин+пасс к админке.
    Ну а если такой вариант не приемлем - то тогда только спасет мощная обфускация с рэндомным криптованием на разных алгоритмах, но перед этим еще хорошо сделать "контрольные" названия переменных(функций). Причем каждому заплатившему за скрипт нужно будет каждый раз менять эти "контрольные" названия - тогда хоть можно будет узнать, у кого из клиентов "рыло в пуху". :)
    Но во-первых, многократно повышается загрузка проца даже при средней посещалке, а во-вторых, если скрипт действительно востребован, то за недельку(ну пусть даже за месяц) его уже можно будет увидеть в паблике крякнутым и переписаным заново(чтоб хостер по нарушению лицухи не забанил).
     
  9. Sachek

    Sachek Умелый

    Регистр.:
    23 мар 2009
    Сообщения:
    387
    Симпатии:
    102
    Лан с этим более менее понял, а вот как сделать удаленное убийство базы данных? Ведь не у всех стоит разрешение доступа к базе из внешки...
     
  10. Mr.Emm

    Mr.Emm Постоялец

    Регистр.:
    5 май 2008
    Сообщения:
    147
    Симпатии:
    111
    За такую дыру в скрипте могут и в суд подать за порчу имущества...
    Если продаешь скрипт кокой-то более менее влиятельной конторе, то лучше убрать все явные бэкдоры, стучалки можно оставить. Еще если ты легально продаешь, т.е. зарегистрирован как предприниматель..., обязательно составь договор купли продажи, с пунктом о запрете распространения ПО и всеми строгими последствиями если это произойдет, а чтобы было чем доказывать, назови некоторые распространенные функции, переменные, ключи массивов, в честь той фирмы, но не особо заметно, аббревиатурой итп. + свои копирайты как положено, есть масса возможностей спрятать копирайты так, чтобы их нашли в последнюю очередь, и не обязательно все совать в код скриптов.

    В остальном chang все верно описал, извращенней не придумаешь)