@dilolo said in BAS MultiTor: AdvOR:
@glitch2077 почему у меня страна только германия получается на выходе ?
https://community.bablosoft.com/topic/10243/advor
Попробуйте этот
Версия: 0.0.5
В данной ветке 0.0.3
Решил выложить свое решение для проверки лицензий в скомпилированных BAS скриптах.
Когда пользователь запускает BAS скрипт, защищенный лицензией, проверка лицензии тригерится только в момент запуска. В процессе работы шаблона лицензия может истечь, но уже запущенный скрипт продолжит работать, пока не будет остановлен.
Решение позволяет проверять лицензии прямо в рантайме, во время работы скрипта.
Данные ответа сервера защищены ассиметричным шифрованием. Сервер подписывает тело ответа приватным ключом и передает подпись в заголовке X-Signature. Клиент (шаблон BAS) валидирует подпись публичным ключом.
Помимо этого в теле ответа передается:
request_id, который генерируется с каждым запросом, чтобы предотвратить reply атаки. Без этого можно было бы один раз получить тело запроса и подпись и, подделав запрос на своем домене, отправить те же данные. Но благодаря уникальному токену, body всегда будет уникальный и подпись всегда будет подписывать новое тело запроса.created_at, где передается текущее время. Клиент сравнивает переданный таймстамп со своим текущим временем и, если время не сходится (пользователь перевел часы у себя на ПК), считает запрос скомпрометированным.Вы можете мониторить запросы и ошибки через Grafana.
Процесс установки описан в Readme.
Смотрите examples в репозитории.
Понимаю, что можно сделать свой собственный сервер лицензий, не используя BAS. Но, возможно, вы, как и я, уже имеете шаблоны с созданными пользователями и не хотите переносить данные лицензий. К тому же, это проще 🔥.
@val2020 said in Свой сервер проверки BAS лицензий:
Дико заранее извиняюсь, но хотелось бы понять как защищен код для проверки лицензии, если допустим скрипт открытый, без премиум BAS? Что мешает открыть скрипт и удалить все проверки, или это решение только для премиум пользователей и закрытых скриптов?
Вы думаете мы на форуме BAS позволили бы жить теме, которая рассказывает как бесплатно реализовать аналог платного функционала BAS?
@val2020 этот "скрипт" не имплементирует функционал BAS по защите шаблонов лицензией. Он проверяет существует ли лицензия у скрипта во время работы шаблона. Из коробки BAS проверяет лицензию только при запуске скрипта. Но если шаблон уже запущен и лицензия истекла, он продолжит работать. Этот скрипт для этого и предназначен - проверять лицензию в рантайме, в реальном времени. Функционал лицензирования баса он не заменяет, а дополняет.
Насколько помню, я с @Fox обсуждал правомерность выкладывания этого скрипта в паблик, он дал согласие. Думал, из описания всем все понятно.
@thepappo said in Свой сервер проверки BAS лицензий:
Из коробки BAS проверяет лицензию только при запуске скрипта.
Что в общем то капец какая недоработка. Время идет, а каждый разраб(кто в теме) продолжает пилить свой велосипед на это.
@kodes said in Свой сервер проверки BAS лицензий:
Не проще получить в начале дату истечения лицензии скрипта. И потом в шаблоне сравнивать ее с текущей? Зачем велосипед?
А если пользователь продлил лицензию во время работы скрипта?
@kodes said in Свой сервер проверки BAS лицензий:
Не проще получить в начале дату истечения лицензии скрипта. И потом в шаблоне сравнивать ее с текущей? Зачем велосипед?
Чтобы получить дату истечения скрипта, нужно также авторизоваться в BAS, сохранить сессию. При этом безопасно это сделать можно только на бэкенде, который предоставляет API для клиентской части.