Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.80/5: Рейтинг темы: голосов - 5, средняя оценка - 4.80
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
1
.NET 4.x

Связь программы с аккаунтами в сети

30.11.2015, 23:06. Показов 1015. Ответов 13
Метки нет (Все метки)

Всем привет. Вопрос в общем-то риторический. И задаю я его не по причине малой информации в интернете, а как-раз наоборот) Мне в большей степени хочется узнать как-бы приступили к реализации моего вопроса более опытные и компетентные люди
Суть в следующем: есть у меня программка. Программка, допустим, частично платная и не шибко дорогая (посему я не переживаю за сложность шифрования и возможность декомпиляции).
Весь принцип рассказывать нет смысла, скажу лишь что часть работы кода устроена на том, что генерирует MD5-хэш на основе логина пользователя и серийного номера жесткого диска.
Возникла идея добавить возможность наравне с номером серийного диска использовать связь с каким-либо (на выбор) аккаунтом в сети. Имеются ввиду аккаунты с возможностью хранения данных (google-диск, яндекс-диск и пр.)
В принципе, примеры работы с api таких хранилищ в интернете найти можно. Но вопрос у меня такой - как лучше организовать такую работу?
Допустим, пользователь один раз в программе ввел свои данные и программа сохранила их в настройках. При последующих запусках программа должна быстренько подключится и проверить верность данных. А заодно и вернуть мне хэш-код (выше писал). Что мне сделать - может хранить у пользователя на сетевом диске какой-нибудь файл? Или при связи я могу получить уникальный id пользователя? Думаю второй вариант более верный. Вопрос только в том - все-ли подобные api позволяют получить некий id пользователя? точно-ли он уникальный и никогда не изменится?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.11.2015, 23:06
Ответы с готовыми решениями:

Связь по высоковольтной сети
Привет всем, Помогите пожалуста с инфой о передачи данных по высоковольтной сети (220 или 110...

Связь по локальной сети BAT
Здравствуйте, у меня появилась одна проблема! У меня есть 2 компьютера подключённые по локальной...

Связь между компьютерами по сети
Подскажите можно ли в VBA работать с портами компьютера, подключенного к ЛВС Если для этого нужен...

Не идет связь с ip-адресом в wan сети
Ребята хелп, есть пк, к которому мне нужно достучатся, он подсоединяется с роутером при помощи...

__________________

Записывайтесь на профессиональные курсы С#-разработчиков‌
13
225 / 224 / 112
Регистрация: 20.10.2013
Сообщений: 808
01.12.2015, 00:05 2
Modis, ну самое очевидное что можно сделать - создать на своем сервере базу данных, реализовать привязку покупки к email'у:
1) программа запускается
2) открывается файл настроек, если он есть, иначе:
3) пользватель вводит email, программа отправляет запрос серверу, если покупка оплачена на данный email, то
сервер генерирует пароль и отправляет на почту, пользователь получает его, вводит в программу пароль и email, программа отправляет данные на сервер, пароль сверяется, если все хорошо, сохраняем связку email-пароль для следующих операций.

Не по теме:

На словах все просто :)

0
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
01.12.2015, 09:19  [ТС] 3
nestquik2, не не не) Вы не совсем то мне описываете. Речь не о моем сервере и проверке покупки - это все уже работает.
Речь о связи программы с аккаунтами сторонних сайтов - google, yandex, mail и пр. Имеющих в себе сетевое хранилище
0
225 / 224 / 112
Регистрация: 20.10.2013
Сообщений: 808
01.12.2015, 09:21 4
Modis, так зачем вам тогда сетевое хранилище, если у этих же сервисов есть почтовые ящики?
0
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
01.12.2015, 09:33  [ТС] 5
nestquik2, сейчас попробую объяснить подробнее.
Моя программа имеет следующую последовательность работы:
1. Пользователь регистрируется на сайте, придумывая себе логин
2. В программе указывает свой логин
3. Программа генерирует регистрационный ключ на основе логина и физического диска (можно например и флешку)
4. Когда пользователь покупает что-то из платного на сайте (т.е. есть и платное и бесплатное), то указывает свой регистрационный ключ
5. Сайте регенерирует ключ активации, который пользователь потом вносит в программу
6. Программа тоже генерирует ключ активации и сверяет его с введенным

Это все есть и это все работает.
Программу многие используют как дома, так и на работе. Поэтому возникла идея сделать вариант "привязки" более удобным - не только к физическому диску, но и к аккаунту в сети различных сервисов. Например, купить платные продукты с привязкой к аккаунту google. Тогда пользователю достаточно лишь указать свои данные как на домашнем, так и на рабочем компе (ну и ввести ключи естественно)
В качестве возможности привязки хочу использовать те сервисы, которые предоставляют сетевые хранилища, чтобы в последствии использовать их (например пользователь сможет там хранить ключи). К тому-же такие хранилища предоставляют открытый api.
Вопрос заключается в том, чтобы решить - к чему именно "привязывать" программу? Уверен, что к некоему id пользователя. Поэтому и спрашиваю опытных - все-ли сервисы имеют уникальный id пользователя? И вообще - удачная-ли идея? Может есть другие варианты - хотелось бы услышать
0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
01.12.2015, 20:32 6
Цитата Сообщение от Modis Посмотреть сообщение
пользователю достаточно лишь указать свои данные как на домашнем, так и на рабочем компе (ну и ввести ключи естественно)
А вы уверены, что все вот так вот просто захотят раздавать вам свои регистрационные данные от различных сервисов? Ятд, вряд ли.
Тогда можно уж сделать проще - через телефон пользователей и сервис бесплатных смс. Пользователь вводит свой номер, ему приходит смс с кодом (сгенерированным в вашей сетевой службе). Он вводит код, если он совпал с тем, что был сгенерирован, значит это ваш клиент, берем его под белы руки ну и дальше тащим куда надо... Ну вы поняли)
0
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
01.12.2015, 20:38  [ТС] 7
Цитата Сообщение от insite2012 Посмотреть сообщение
А вы уверены, что все вот так вот просто захотят раздавать вам свои регистрационные данные от различных сервисов? Ятд, вряд ли.
Так никто никуда ничего не раздает. К "данным" относится только логин пользователя и тот хранится у него на компе...
Такое ощущение, что я плохо выражаю свою мысль и свой вопрос =)))))
У меня нет вопроса - как организовать платные варианты! У меня вопрос - при использовании онлайн-аккаунтов - ЧТО использовать для генерации ключа?
0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
01.12.2015, 20:44 8
Цитата Сообщение от Modis Посмотреть сообщение
Такое ощущение, что я плохо выражаю свою мысль и свой вопрос =)))))
Вероятно)))
Тогда все еще проще (хотя это и требует небольших затрат) - аренда простого хостинга (как правило, там и БД есть) и хранение записей о пользователях именно там. Логины, пароли, ну и тот код, что генерируется на основе его железа. Можно еще то, что я в своем первом посте написал прикрутить (по желанию).
И да, самый дешевый и нормально работающий хостинг - всего 150 р. в месяц. Раз программа частично платная, думаю это имеет смысл.
0
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
01.12.2015, 20:48  [ТС] 9
Цитата Сообщение от insite2012 Посмотреть сообщение
аренда простого хостинга
Да все уже есть!!! Почитайте выше!
Просто пришла идея вместо привязки к железу использовать привязку к онлайн-аккаунту. Вот и хочу узнать у опытных - что общее есть у всех аккаунтов в сети? Есть-ли некий id?
0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
01.12.2015, 20:56 10
Цитата Сообщение от Modis Посмотреть сообщение
использовать привязку к онлайн-аккаунту
Именно поэтому я и сказал, что пользователю придется вводить данные от к-либо своего аккаунта, в вашей программе.
Вот ссылка, там на пыхе, но принцип понятен. Свои данные ввести так или иначе надо. Ваша программа уже сама посылает через API к-либо социальной сети запрос на авторизацию и в зависимости от результата действует. Но от необходимости вводить свои данные это не избавляет.
0
5 / 5 / 4
Регистрация: 20.01.2011
Сообщений: 350
02.12.2015, 10:21  [ТС] 11
Цитата Сообщение от insite2012 Посмотреть сообщение
Именно поэтому я и сказал, что пользователю придется вводить данные от к-либо своего аккаунта, в вашей программе
Но при этом - эти данные никуда не будут передаваться. Они мне не нужны и храниться будут у самого пользователя на компьютере.
Ввод данных нужен только для того, чтобы программа связалась с аккаунтом и получила какие-то нужны данные (ну например id) для генерации регистрационного ключа. Все достаточно безопасно
0
225 / 224 / 112
Регистрация: 20.10.2013
Сообщений: 808
03.12.2015, 20:59 12
Modis, я либо на столько тупой, что мало вероятно, либо Вы не умеете излагать суть вопроса. Вам уже предложили как минимум 2 прекрасных варианта: либо e-mail адрес, либо мобильный телефон (второе конечно лучше в плане защиты), а Вы "втираете" про какие-то онлайн сервисы хранения данных...
0
Модератор
Эксперт .NET
5304 / 4100 / 1183
Регистрация: 12.10.2013
Сообщений: 11,909
Записей в блоге: 2
03.12.2015, 21:37 13
Цитата Сообщение от Modis Посмотреть сообщение
Но при этом - эти данные никуда не будут передаваться. Они мне не нужны и храниться будут у самого пользователя на компьютере.
Но вводить-то пользователю свои персональные данные придется именно в вашей программе. Вот я сейчас напишу программу, дам вам, и поклянусь что все "кристально честно" в ней, а там надо ввести логин и пароль от вашей почты. Вы согласитесь? Если да, где гарантия. что ваши данные не окажутся тут же у меня?
Вот в чем смысл. Я вам предложил не плохой вариант с мобильным телефоном, он вполне реализуем.
0
413 / 312 / 240
Регистрация: 29.05.2010
Сообщений: 792
Записей в блоге: 1
03.12.2015, 21:47 14
Как сделать авторизацию как Wot? При авторизацию через Google открывается новая вкладка в браузере и данные передаются обратно клиенту игры.
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
03.12.2015, 21:47

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Citect 7.30. Связь двух ПК в локальной сети
Добрый день! Подскажите пожалуйста, в чём может быть проблема? Один компьютер с проектом Citect...

Устарела ли TL-WR941N? 2 сети и неустойчивая связь
Здравствуйте! Года 4 назад заимел сабж. Рассчитывал, что будет пробивать 100 кв. м квартиру по...

Пропал интернет и связь по локальной сети
Аваст обнаружил Руткит, с успехом его удалил, перегрузил, после чего, локалка и инет слетели, хотя...

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
14
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.