Как ограничить использование своего декстоп-приложения (.exe) только тем, кто зарегистрирован у меня на сайте (как это выглядит примерно?)?
Доброго времени суток тостерчане и тостерчанки) не могу нагуглить - как правильно "это" называется, чтобы посмотреть - примерно как "это" реализовать (хотя бы по простому). Суть: есть приложение для WIN и хочу (в идеале), чтобы пользователь зарегистрированный на моём сайте - мог пользоваться моим приложением (для этого, он скачивает его себе и устанавливает)... а если он нарушит "правила" или ещё что-то или он не зарегистрирован - чтобы программа не запускалась? Было бы супер, если каждый раз после успешного ввода (пользователем в программе) логина и пароля - скачивалась удалённо dll (моя), имплентировалась и программа запускалась... после чего, пользователь закрывает приложение (загруженная dll удалялась)... т.е. интерисует способ загрузки удалённой dll с последующим имплиментированием и перед закрытием программы - удаление из программы?
(п.с. это тема частично про динамические загружаемые сборки??)
Подскажите... где про это (примерно) пожно почитать/посмотреть код?
п.с.с. интерисует со стороны приложения.. а не сайта...
п.с.с.с. работа самого приложения с сайтом не связана...
Если совсем по-простому, то я бы сделал запрос на сайт с указанием логина пользователя после входа и возвращаемую строку с сайта (есть/нет доступа) для данного пользователя. Защита от дурака и при желании легко ломается.
ломается всё)) и задача не стоит 100% обезопасить) но я думаю (даже не знаю... правильно или нет)... если часть кода (например в dll где описаны основные методы) будет просто отсутствовать у клиента...и только после успешной авторизации - программа сама скачивает (background) dll внедряет в сборку, и дальше запускается... далее клиент выполняет то, что хочет в программе после чего перед закрытием, эта dll из памяти (или физически удалялась...) и... трудности только с тем, как внедрить dll в приложение (т.е. его скачать сначала на физ диск, потом через рефлексию внедрить.... или можно сразу через assembly.load загурзить.... чтобы dll была только в памяти....) и вообще - правильно я мыслю или нет)) ??
п.с. вариант сделать, чтобы основной dll был на сайте и клиентского приложение просто отправляло запросы через основной dll ... не катит( пока не готов для этого сделать сервер, который бы смог обрабатывать много запросов... а текущий - посыпится... если будет более 5 000 запросов... (или 10 000) точно не знаю
Tom Nolane: Ну если хочется всё усложнить, то можно и так, наверное сделать, но если не стоит задачи сделать сложноломаемую систему, то я бы не стал так сделать, исключительно по моему мнению.
Smilleey: проект коммерческий( и (пока) написан на c# (к сожалению) ... конечно буду применять обусфакторы и прочие танцы с бубном... и часть кода переделывать на c++... но это потом... и пока я это (буду) делать (потом...) хочется на какое-то время "держать" в руках хоть какие-то "нити" управления...
Артём Петренков: для этого он должен быть юзер-зверем)) причём грамотным)) если такие "попадутся" - то уже ничего не попишешь) (наверно)... просто не знаю как нечто похожее можно реализовать и/или какие альтернативы есть? Модули? Хотя бы название (или лучше статейку на хабре... или код simply на гитхабе....)
Tom Nolane: Почему сразу "к сожалению"? И на C# можно сделать трудноломаемую систему. Пусть будет постоянная проверка пользователя (раз в минуту), правда тогда программа не будет без интернета работать. Как Артём сказал, всегда можно сохранить dll, которая будет подкачана...
Smilleey: решение не плохое, и рано или поздно это сделаю... но программа способна отправлять много запросов и боюсь... 10 клиентов погасят пой сервер "досс-флудом")))
То есть пользователь, где-нибудь в роуминге будет при каждом запуске программы тратить деньги и время на скачивание dll. Притом столько раз сколько он запустит программу. Если еще программа время от времени самопроизвольно вылетает... будет песня...
часть исполняемого кода весит 8Мб) (вся вся программа 70 метров) программа - декстоп (для win)) и связана с непосредственной большой работой (и соответственно траффика) в инете) так что не думаю) что люди будучи в роуменге будут пользоваться данной программой - она для SMM-щиков) на счёт вылета - поскольку я так не подключал (скачивал и имплеминтировал) по-этому не знаю( на счёт "ошибок"... вот и думал... это dll буду постоянно обновлять (исправлять... добавлять...) и пользователь каждый раз загружает уже "новую версию" - где (если были баги) исправлены... и добавлены новые возможности...