![]() |
Привязка программы к логину и паролю
Какк привязать программу к определенному логину и паролю.
к примеру есть сайт, на нем у человека есть логин и пароль. я хочу что бы программа могла работать только с этим логином и паролем. Вариант, сразу вшить их в программу и скомпилить не подходит, человек не хочет что бы я знал пароль. |
типо мейл ру агента чтоли?
|
Цитата:
|
Цитата:
|
Chrome~,ну,все равно мд5 то будет у него. Естессно,можно и не смотреть на пасс,тогда тоже не будет знать его :\
|
Цитата:
|
ну пусть пи первом запуске программы софт просит ввести новый пароль .хеш пароля записывается в реестр и при каждом новом запуске прога просит пароль и проверяет его с тем что в реестре.Так пароль и автор софта знать не будет т.к пароль придумывает клиент и проверка пароля есть.
Правда безопасность хромает. p/S Вроде мой вариант удовлетворяет условиям ТСа. |
Самое оптимальное - наибать клиента. Все равно плохого ничего не будет,а геммора из-за его требований мульен :\
|
привязать программу к логину. пользователь вводит логин, пароль. если логины совпадают, идет авторизация на сайте. если авторизация успешна, то форма открывается.
|
Seven[up], ещё разок прочитай, что мне надо. так любой пользователь сможет.
waik, реестр гуд, но...есть разные но.. а вообще я тупанул...на пароль мне пофиг главное логин, клиент дает - логин, я его вшиваю, а он только пароль вписывает. |
Цитата:
http://uasc.org.ua/2010/05/c_shart_protect/ |
Цитата:
Дык все правильно Seven[up] написал. Цитата:
|
Вы все забыли о сниферах и кукис.Пароль можно будет легко перехватить
Если только https...но кукисы не уберёшь. :( |
Цитата:
|
Μαφία, я что то не понял.
а если я логина не знаю. |
Цитата:
Если надо массово то можно, например, вот так: При первом запуске клиенту предложить вписать свой логин на ресурсе X. При последующих запусках просить юзера вводить пароль на ресурсе X, логин мы запомнили на первом шаге, делаем запрос к БД ресурса X, если пароли для данного логина совпадают - запускаем софтину, если нет - оповещаем юзера и просим ввести другой пароль. Но вот приведенный мной пример потерял саму логику привязки, ибо каждый сможет вписать свой логин и в последующем свой пароль. Перед тем как отдать прогу клиенту спроси у него его логин (например user123), вбей его в код, т.е. никто не сможет изменить логин. И соответственно программой сможет пользоваться только человек владеющий аккаунтом user123 на твоем ресурсе. |
Цитата:
|
Μαφία, в этом и трабл клиент, лоховской и боится логин дать.(типо взломаю)
|
Цитата:
Цитата:
|
Цитата:
Реестр оптимальный вариант. Но придётся париться с правами. Отнюдь не ко всему в реестре будет доступ. |
Цитата:
Дык абсурд получается, клиенту нужно юзать пару логин пасс как на ресурсе, при этом он не хочет давать даже логин. Вариант с "привязкой к логину" самый оптимальный в данной ситуации, и пусть ищет инет для проверки пары хоть из космоса. Если юзать инет - отстой Делай пустышку которая будет запускаться с любой парой login pass. Есть еще третий вариант, шли его. |
эмм...
А елси при запуске софта будет появляться запрос с вводом логина и пароля-эта пара(логин;пароль) отправляется на сервер и если ответ что пара верная то софт работает дальше а если пароль и/или логин не верный то софт прекращает работу. (обычная аутентификация клиента по логину и паролю через ПО) Тут и ты не будешь знать ни логина ни пароля клиента. НО получается это софт не с привязкой и его можно юзать на любом ПК как клиент для сайта. ТС стучи в ЛС,раньше сам с такими вопросами мучался. |
делись тут, а если не хочешь пиши в личку..
я тут подумал ещё над такой темой. отдаю клиенту прогу он сам вводит логин и пароль. он залогинивается и в определенное место в нете отправляется его к примеру только логин(я типо чесный) и последущее разы просто сверяется с нетом. и в программе какой то ИД. 1 ИД 1 акк. |
Цитата:
А почему не катит вариант: Клиент первый раз запускает ПО. ПО просит логин и пароль. ЛОгин и пароль отсылаются на сайт и там проверяются на валид и если логин и пароль верный,то записать их в реестр и использовать при следующих запусках программы. Так ты не узнаешь что ввёл клиент. |
По запросу клиента формируй файл в котором будет содержаться логин и пароль , шифоуй каким нить алгоритмом (можно тупо логин открыто + пароль в MD5 + все это в Base64).
Клиент скачивает и сохраняет данный файл в папку с программой , потом при каждом запуске расшифровывать все это и спрашивать у клиента пароль , шифровать в MD5 и сверять с хэшем из файла.. Как-то так =) |
откуда скачивает?
реестр не выход с ним возьни много, и на другом компе человек свободно запустит эту программу. |
Цитата:
|
Вообще клиента головой об стену за такие просьбы.
Единственный вариант тогда - дать ему исходники, пусть сам пароль вобьет и скомпилит |
Цитата:
|
Можно сделать так:
даем клиенту прогу, которая по некоторому крипто алгоритму зашифрует его пароль (в этот же момент генерируется закрытый ключ, которым можно будет расшифровать полученный хэш пароля), после этого клиент передаст вам (разработчику) зашифрованный пароль. Вы его вбиваете в свой код, собираете проект и передаете клиенту. Клиент при первом запуске вводит свой закрытый ключ, которым будет расшифрован хэш (т.е. получен чистый пароль, который можно использовать в алгоритме работы самой программы) Здесь несколько моментов: - выбор крипто алгоритма - привязка хэша к проге. В зависимости от языка, на котором пишется прога, это можно сделать с разной степенью надежности. |
Цитата:
Вообще складывается впечатление что ТСу нужно что то иное что он не описывает, и пытается найти решение так сказать не паля самой сути. Причина такого поведения - хз. Либо ТС и есть заказчик, который не может дать четкое ТЗ кодеру и хочет сделать своего рода привязку какую то. Будь бы я кодером:
Заметьте, ТС в предыдущих постах вообще слабо понимает что такое реестр и как туда записать данные, и называет этот процесс слишком сложным. :confused: |
имхо ТС либо сам заказчик, либо качнул где то левые сорсы и пытается их доделать, но не знает как, и с реестром не умеет работать :( и теперь придумывает....
..эт личное мое имхо. а так Реестр лучший вариант, главное хорошо обмазговать и зашифровать алгоритм. |
Сделай проще. Просто храни логин/пароль в реестре в открытом виде.
При запуске программа проверяет наличие нужного ключа реестра и если его нет, то просит ввести логин/пароль. После ввода создаешь ключ, сохраняешь данные и все. |
Цитата:
ещё раз напишу что надо. есть сайт swblife.com. Я написал под неё программу(я лично, не у кого не чего не скачивал и не воровал) Я хочу что бы одна копия программы могла работать только с одной анкетой с этого сайта. 1 копия программы - 1 акк. так как знаю этих сетевиков и пирамидчиков. они у меня купять а своим ещё за дороже продадут. |
need_million можно сравнивать сорец страницы и например проверять имя аккаунта(или какую-то уникальность страницы пользователя).Если он подходит дальше работаем,нет завершение работы. :)
|
на чем писал прогу? как тебе мой вариант?
|
Kaas, я не заметил твою версию.
а она очень хороша! значит так, дать пользователю программу в которую он введет логин\пароль и ключ. это все шифруется, и открыть можно будет только зная ключ. и все хоршо! теперь ещё сложней, я с крипто вообще не чего не умею делать, где почитать можно? не чего сложного не надо. язык C# |
Ну тогда могу предложить такой вариант:
Делаеш систему серийников на основе ID железа (допустим винта) При первом запуске прога спрашивает логин и просит отправить разработчику некий хэш (сгенереный из ID железа и логина) Ты при получении хэша генериш серийник и отдаеш клиенту Клиент вводит серийник в прогу прога прописывает где нить серийник,логин и далее использует для проверки при запуске Имеем, возможность запуска только на одном компе и толко для одного логина |
ну вот на одном компе это перебор, челвоек же может и с работы сидеть. тут имено с одной анкеты,
но как для компа и логина это гуд. |
>> прога прописывает где нить серийник,логин и далее использует для проверки при запуске
Cамое узкое место, как и в моем варианте( когда разработчик забивает хэш пароля в проге) тк в IL все это довольно неплохо светится (ну относительно, смотря насколько хороший обфускатор будет). Если кто нить знает как c# прогу в этом месте надежно защитить - выслушаем с удовольствием:) >>дать пользователю программу в которую он введет логин\пароль и ключ Ключ не клиент вводит, этот ключ генерится криптоалгоритмом на основании пароля, который мы скармливаем криптоалгоритму (называется закрытый ключ). Т.е. после работы этой крипто проги клиент получает хэш своего пароля и закрытый ключ, которым можно расшифровать пароль. Почитать в гугле на тем Криптография с открытым/закрытым ключом, там наверняка должны быть реализации некоторых алгоритмов. Про проблемы с C# я написал выше) |
| Время: 06:00 |