[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Запрет группового использования ключа к апи
balambasik
Доброго дня.
Есть платный скрипт. Не очень хочется что бы после первой покупки скрипт ушел в паблик. Так как на его написание ушло 2 месяца моего труда.

Почему-то мысль о какой то защите скрипта у меня возникла когда скрипт был готов на 90%. ))))

Перечитал уйму материала по теме защиты php кода. И понял что любая обфускация - это ключ под ковриком - отпадает.
Зенд гуард и ионкуб есть далеко не на каждом хостинге - отпадает.

SaaS - отпадает так как скрипт создает некую (иногда весьма большую) нагрузку на бд. Нужно будет оочень мощный сервер. А то и два)) Да и изначально скрипт писался для однопользовательского режима.

Остался последний способ - вынести часть функционала на свой сервер.

Схема такая:
Скрипт лежит в паблике. Скриптом можно ПОЧТИ полноценно пользоваться бесплатно.

Но некий (весьма не лишний) функционал скрипт получает запросами к api моего сервера.

Но для доступа к api нужно купить ключ.
Хорошо. Юзер купил ключ, вписал его в свой скрипт и?.... Дал ключ так же Васе, Пете, Коле и т.д.

Как мне организовать защиту что бы Вася и Петя не могли использовать этот ключ?

Например идеально было бы что бы скрипт при доступе к моему api, передавал купленный ключ и домен где установлен скрипт. С ключем проблем нет. Но домен легко можно подменить - $_SERVER[HTTP_HOST] = нужный разрешенный домен.

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

В общем, надеюсь на ваши советы.






FatCat
Цитата (balambasik @ 12.03.2017 - 12:05)
Юзер купил ключ, вписал его в свой скрипт и?.... Дал ключ так же Васе, Пете, Коле и т.д.

Так, как поступают сотовые операторы: симкарта бесплатно или за символическую стоимость, оплата использования ресурса.
То есть, ключ бесплатно, и оплата абонемента на ххх обращений к твоему сервису.

_____________
Бесплатному сыру в дырки не заглядывают...
Arh
balambasik
Даже винду ломают, а ты про php скрипт говоришь)


_____________
Промокод предоставляет скидку на заказ домена и/или хостинга reg.ru
BFCC-3895-8804-9ED2
vagrand
А чем вас не устраивает залиноковать ключ на какой-то конкретный IP адрес?

_____________
Senior PHP developer: PHP5, MySQL, JavaScript, CakePHP, Yii/Yii2, Zend Framework, Smarty, XML/Xslt, JQuery, Jquery Mobile, Bootstrap, ExtJS, HTML, HTML5, CSS, Linux, SVN, Git, Memcached, Redis, MongoDB, Zend Guard, Ioncube, FFMpeg, PayPal, Webmoney, Qiwi, Facebook API, Vkontakte Api, Google API, Twitter Api, Steam Api.
Junior Android Developer: Android SDK, многопоточность, работа с HTTP запросами, JSON, SQLite, фрагменты.
depp
а в чем проблема с доменами? ip, с которого обращаются ты по любому определишь. домен тебе скажут при покупке скрипта. и дальше смотришь в днсах есть ли нужные тебе ip для этого домена (gethostbyname). нету - до свидания. не вижу никакой проблемы.
FatCat
Цитата (depp @ 13.03.2017 - 10:38)
в чем проблема с доменами?

Цитата
Юзер купил ключ, вписал его в свой скрипт и?.... Дал ключ адрес странички так же Васе, Пете, Коле и т.д.


_____________
Бесплатному сыру в дырки не заглядывают...
depp
FatCat
1. при регистрации в системе автора клиент указывает домен, на котором будут использовать скрипт.
2. Клиенту выдается ключ от API.
3. автор в своем облачном сервере получает IP клиента, который обращается по API с выданным ключем.
4. Через gethostbyname получает IP домена, указанного при регистрации в системе и сравнивает его с тем IP, с которого пришел клиент.

в чем проблема?
FatCat
Цитата (depp @ 13.03.2017 - 14:12)
в чем проблема?

Я же написал. ОК, разжевываю.
Ты привязал апи на мой сервер phpforum.su и на айпишник моего сервера. Так?
Я устанавливаю скрипт у себя на phpforum.su и даю доступ к моей странице десяти тысячам форумчан, которые все десять тысяч бесплатно пользуются твоим скриптом.

_____________
Бесплатному сыру в дырки не заглядывают...
Invis1ble
Посмотрите, как делают крупные компании типа гугла. У них есть лимит на количество запросов за определенный промежуток времени. Скажем, 1000 запросов в сутки.
Таким образом снимается проблема с предоставлением доступа третьим лицам. Решение не идеальное, но других, похоже, нет.

_____________

Профессиональная разработка на заказ

Я на GitHub | второй профиль

depp
Цитата (FatCat @ 13.03.2017 - 15:30)
Цитата (depp @ 13.03.2017 - 14:12)
в чем проблема?

Я же написал. ОК, разжевываю.
Ты привязал апи на мой сервер phpforum.su и на айпишник моего сервера. Так?
Я устанавливаю скрипт у себя на phpforum.su и даю доступ к моей странице десяти тысячам форумчан, которые все десять тысяч бесплатно пользуются твоим скриптом.

ну тогда только продавать кол-во обращений к скрипту по апи.
другого решения что-то не видится. или есть у кого какие умные мысли?
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.