powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Авторизация: запомнить логин и пароль
25 сообщений из 34, страница 1 из 2
Авторизация: запомнить логин и пароль
    #39903707
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
На волне изучения UniGUI сделал форму авторизации.
Но её ведь можно не показывать, если пользователь на форме логина включил "запомнить меня".
Ведь мы не вводим на форумах постоянно свои логи и пароль. Это удобно, да.

Так вот... Если там что-то заумное или всё до безобразия проста, ну т.е. подскажите, как это правильно организовать. Не хранить же логин/пароль в куках...
Т.е. в базе на сервере генерировать какой-то ключ и его можно хранить вместе с логином в куках браузера или просто ключ даже без логина.
А когда пользователь открывает веб-приложение, то проверять ключ, дату последнего входа и сразу открывать главную форму вместо формы логина?
Так правильно?


P.S. В моём UniGUI приложении браузер не предлагает запомнить логин и пароль. Так и должно быть?
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39903769
Gerasimenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

логин, имя компьютера и домена на стороне БД проверить не проблема (например, в T-SQL, так : http://www.cyberforum.ru/sql-server/thread625328.html). допустим, стоит галочка, запомнить меня. При первом входе, проверив серверную аутентификацию, запоминаем, что он прошел ее и стоит галочка. Пока галочку не снимет, автоматически подключаем. как то так, наверное...
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39903938
Фотография makhaon
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

авторP.S. В моём UniGUI приложении браузер не предлагает запомнить логин и пароль. Так и должно быть?

далеко не каждый передаваемый параметр браузеры воспринимают как логин/пароль. часто 'магия' заканчивается на явных user= password=
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904051
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Так в том-то и дело, что явные нельзя оставлять. Небезопасно.
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904281
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11,

кладешь в куку идешник клиента и вася кот
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904296
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В куку кладешь
Код: pascal
1.
MD5(id + ':' + login + ':' +password)


Можешь еще добавить время последнего логина и/или User Agent. На сервере проверяешь хеш
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904316
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
пошла жара )
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904364
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
В куку кладешь
Код: pascal
1.
MD5(id + ':' + login + ':' +password)


Можешь еще добавить время последнего логина и/или User Agent. На сервере проверяешь хеш
это уже всё устарело и небезопасно - если твой кеш можно перехватить, значит тебя можно подменить, это такой же пароль выходит.

обмен например по типу Ntlmv2 , более безопасен
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904378
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
обмен например по типу Ntlmv2 , более безопасен


Круто, но, к сожалению, в Delphi такого нет. А сому писать очень и очень долго придётся :(
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904386
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
обмен например по типу Ntlmv2 , более безопасен
Это пересылка пароля. А задача состоит в сохранении статуса
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904388
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
_Vasilisk_
В куку кладешь
Код: pascal
1.
MD5(id + ':' + login + ':' +password)



Можешь еще добавить время последнего логина и/или User Agent. На сервере проверяешь хеш
это уже всё устарело и небезопасно - если твой кеш можно перехватить, значит тебя можно подменить, это такой же пароль выходит.

обмен например по типу Ntlmv2 , более безопасен

А пароли-то где хранить?
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904389
rgreat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
Круто, но, к сожалению, в Delphi такого нет. А сому писать очень и очень долго придётся :(

День, если тупить?

Тебе не надо соблюсти все стандарты NTLM, тебе достаточно сделать свою реализацию на подобие её.
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904413
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
kealon(Ruslan)
обмен например по типу Ntlmv2 , более безопасен
Это пересылка пароля. А задача состоит в сохранении статуса
там ни пароль, ни хэш о котором вы написали в первом комменте не передаётся

схема приблизительно такая:
Код: plaintext
1.
2.
3.
сервер: - а пришли как мне хэш вот от этой фигни и хеша своего логина и пароля
клиент: - запросто 
сервер: - однакож совпадает, ок тебе доступ
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904418
ёёёёё
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),
Там на клиенте шифруется рандомный блок серверных данных, результат передается обратно сервер, расшифровывается и сравнивается с исходным; тут предполагается, что пароли (ключи шифрования) есть и на клиенте, и не а сервере - либо одинаковые (в случае симметричного шифрования). Либо на сервере лишь открытый ключ, а на клиенте закрыты в случае ассиметричного.
Снова встает вопрос хранения секретных данных на клиенте.
Решение совсем другой задачи.
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904421
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хранить в LocalStorage .
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904440
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)
обмен например по типу Ntlmv2 , более безопасен

не обернется ли это болью и страданием для клиентов, которые не используют браузер и ос от ms?
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904481
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ёёёёё
kealon(Ruslan),
Там на клиенте шифруется рандомный блок серверных данных, результат передается обратно сервер, расшифровывается и сравнивается с исходным; тут предполагается, что пароли (ключи шифрования) есть и на клиенте, и не а сервере - либо одинаковые (в случае симметричного шифрования). Либо на сервере лишь открытый ключ, а на клиенте закрыты в случае ассиметричного.
Снова встает вопрос хранения секретных данных на клиенте.
Решение совсем другой задачи.
я реализовывал этот алгоритм, нету там ничего такого
в данном случае его и не надо реализовывать
rgreat
Тебе не надо соблюсти все стандарты NTLM, тебе достаточно сделать свою реализацию на подобие её.


аналогично и на
Дегтярев Евгений
kealon(Ruslan)
обмен например по типу Ntlmv2 , более безопасен

не обернется ли это болью и страданием для клиентов, которые не используют браузер и ос от ms?

для реализации нужна всего лишь поддержка JS и localStorage, не нужно реализовывать базовую авторизацию
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904528
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan),

В современных условиях тотального https нет смысла огород городить.
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904539
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
Хранить в LocalStorage .

а какая разница, где именно хранить?
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904548
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
а какая разница, где именно хранить?

В смысле, в куках или в сторе?
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904573
Фотография Дегтярев Евгений
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kealon(Ruslan)

не вижу смысла делать "свое наподобие"


X11

в общем случае, безотносительно UniGUI
HTML - stateless протокол . Это значит что информацию, по которой сервер может идентифицировать клиента/сессию надо передавать с каждым запросом.

Этой информацией может быть как сама пара логин-пароль ( basic схема), так и хеши с их участием (digest, ntlm). Basic-аутентификация самый простой способ в реализации и поддерживается всеми браузерами, но не безопасен без HTTPS. Если credentials не переданы браузером или они не верные, сервер отвечает статусом 401 и браузер показывает окошко для ввода логопаса. Введенные клиентом креды будут автоматом передаваться браузером с каждым запросом к этому серверу. Запомнить логопас можно в хранилище паролей браузера. Выйти и зайти под другим пользователем можно только закрыв браузер (возможно, в анонимной вкладке, не проверял).

Вариант когда ставится кука с идентификатором сессии
тот самый вариант, когда ты видишь галочку запомнить меня
Клиент сабмитит HTML-форму с логопасом. Сервер, если все ок, генерит идентификатор сессии (должен быть достаточно сложным, чтобы нельзя было подобрать перебором), сохраняет идентификатор в хранилище (куда и как отдельная тема, с идентификатором так же могут храниться доп данные). Сервер отвечает клиенту статусом 302 - перенаправление на страницу отличную от формы аутентификации. В этом же ответе устанавливает куку со значением идентификатора сессии. Теперь браузер при каждом обращении к серверу будет отправлять эту куку, по значению в которой, сервер и будет проверять авторизован пользователь или нет.
Если не задавать время жизни для куки, она будет жить до закрытия браузера. Галочка запомнить меня как раз конвертируется в установку времени жизни сессионной куки.
При выходе сервер удаляет сессионные данные из хранилища и удаляет куку с клиента.

ps
Есть еще варианты с токенами, но оно обычно используются для доступа к API, в случае вебприложений применимо только к SPA.
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904652
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Kazantsev Alexey
X11
а какая разница, где именно хранить?

В смысле, в куках или в сторе?


да, я не вижу особой разницы
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904658
kealon(Ruslan)
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений
kealon(Ruslan)

не вижу смысла делать "свое наподобие"
я тоже не вижу смысла в том что бы вы делали наподобие

больше удивляет откуда взрастают такие заблуждения

Basic-аутентификация не обязательно открытая передача паролей и прочего, там очень много может быть типов авторизации
но ладно, разговор не о ней, она себя очень сильно дискредитровала и пользуются ей в основном в пределах домена

кука, параметр - вообще не важно, главное идентификатор сессии передать туда-обратно, что бы сервер мог его использовать
для локального хранения есть localStorage

Куки зарезали и все фулстеки вдруг ноют "всё пропало, как мы жить дальше будем" - и я в принципе согласен, с такими знаними только в сторожи идти. В http(s) и без куков слона спрятать можно. Есть куча способов.
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904661
Kazantsev Alexey
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
X11
да, я не вижу особой разницы

Если вся работа на сервере то куки, если на клиенте то сторедж.
...
Рейтинг: 0 / 0
Авторизация: запомнить логин и пароль
    #39904663
Фотография X11
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Дегтярев Евгений
Запомнить логопас можно в хранилище паролей браузера.


браузер не предлагает запомнить логин/пароль
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Delphi [игнор отключен] [закрыт для гостей] / Авторизация: запомнить логин и пароль
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]