|
|
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
На волне изучения UniGUI сделал форму авторизации. Но её ведь можно не показывать, если пользователь на форме логина включил "запомнить меня". Ведь мы не вводим на форумах постоянно свои логи и пароль. Это удобно, да. Так вот... Если там что-то заумное или всё до безобразия проста, ну т.е. подскажите, как это правильно организовать. Не хранить же логин/пароль в куках... Т.е. в базе на сервере генерировать какой-то ключ и его можно хранить вместе с логином в куках браузера или просто ключ даже без логина. А когда пользователь открывает веб-приложение, то проверять ключ, дату последнего входа и сразу открывать главную форму вместо формы логина? Так правильно? P.S. В моём UniGUI приложении браузер не предлагает запомнить логин и пароль. Так и должно быть? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2019, 20:46 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
X11, логин, имя компьютера и домена на стороне БД проверить не проблема (например, в T-SQL, так : http://www.cyberforum.ru/sql-server/thread625328.html). допустим, стоит галочка, запомнить меня. При первом входе, проверив серверную аутентификацию, запоминаем, что он прошел ее и стоит галочка. Пока галочку не снимет, автоматически подключаем. как то так, наверное... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 16.12.2019, 23:17 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
X11, авторP.S. В моём UniGUI приложении браузер не предлагает запомнить логин и пароль. Так и должно быть? далеко не каждый передаваемый параметр браузеры воспринимают как логин/пароль. часто 'магия' заканчивается на явных user= password= ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 11:18 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
Так в том-то и дело, что явные нельзя оставлять. Небезопасно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 13:11 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
X11, кладешь в куку идешник клиента и вася кот ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 18:18 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
В куку кладешь Код: pascal 1. Можешь еще добавить время последнего логина и/или User Agent. На сервере проверяешь хеш ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 18:36 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
пошла жара ) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 18:58 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ В куку кладешь Код: pascal 1. Можешь еще добавить время последнего логина и/или User Agent. На сервере проверяешь хеш обмен например по типу Ntlmv2 , более безопасен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 20:29 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) обмен например по типу Ntlmv2 , более безопасен Круто, но, к сожалению, в Delphi такого нет. А сому писать очень и очень долго придётся :( ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 21:30 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) обмен например по типу Ntlmv2 , более безопасен ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 21:59 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) _Vasilisk_ В куку кладешь Код: pascal 1. Можешь еще добавить время последнего логина и/или User Agent. На сервере проверяешь хеш обмен например по типу Ntlmv2 , более безопасен А пароли-то где хранить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 22:03 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
X11 Круто, но, к сожалению, в Delphi такого нет. А сому писать очень и очень долго придётся :( День, если тупить? Тебе не надо соблюсти все стандарты NTLM, тебе достаточно сделать свою реализацию на подобие её. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.12.2019, 22:05 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
_Vasilisk_ kealon(Ruslan) обмен например по типу Ntlmv2 , более безопасен схема приблизительно такая: Код: plaintext 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 00:17 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), Там на клиенте шифруется рандомный блок серверных данных, результат передается обратно сервер, расшифровывается и сравнивается с исходным; тут предполагается, что пароли (ключи шифрования) есть и на клиенте, и не а сервере - либо одинаковые (в случае симметричного шифрования). Либо на сервере лишь открытый ключ, а на клиенте закрыты в случае ассиметричного. Снова встает вопрос хранения секретных данных на клиенте. Решение совсем другой задачи. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 00:56 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
Хранить в LocalStorage . ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 01:16 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) обмен например по типу Ntlmv2 , более безопасен не обернется ли это болью и страданием для клиентов, которые не используют браузер и ос от ms? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 07:04 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
ёёёёё kealon(Ruslan), Там на клиенте шифруется рандомный блок серверных данных, результат передается обратно сервер, расшифровывается и сравнивается с исходным; тут предполагается, что пароли (ключи шифрования) есть и на клиенте, и не а сервере - либо одинаковые (в случае симметричного шифрования). Либо на сервере лишь открытый ключ, а на клиенте закрыты в случае ассиметричного. Снова встает вопрос хранения секретных данных на клиенте. Решение совсем другой задачи. в данном случае его и не надо реализовывать rgreat Тебе не надо соблюсти все стандарты NTLM, тебе достаточно сделать свою реализацию на подобие её. аналогично и на Дегтярев Евгений kealon(Ruslan) обмен например по типу Ntlmv2 , более безопасен не обернется ли это болью и страданием для клиентов, которые не используют браузер и ос от ms? для реализации нужна всего лишь поддержка JS и localStorage, не нужно реализовывать базовую авторизацию ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 09:38 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan), В современных условиях тотального https нет смысла огород городить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 10:29 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey Хранить в LocalStorage . а какая разница, где именно хранить? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 10:50 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
X11 а какая разница, где именно хранить? В смысле, в куках или в сторе? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 10:58 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
kealon(Ruslan) не вижу смысла делать "свое наподобие" X11 в общем случае, безотносительно UniGUI HTML - stateless протокол . Это значит что информацию, по которой сервер может идентифицировать клиента/сессию надо передавать с каждым запросом. Этой информацией может быть как сама пара логин-пароль ( basic схема), так и хеши с их участием (digest, ntlm). Basic-аутентификация самый простой способ в реализации и поддерживается всеми браузерами, но не безопасен без HTTPS. Если credentials не переданы браузером или они не верные, сервер отвечает статусом 401 и браузер показывает окошко для ввода логопаса. Введенные клиентом креды будут автоматом передаваться браузером с каждым запросом к этому серверу. Запомнить логопас можно в хранилище паролей браузера. Выйти и зайти под другим пользователем можно только закрыв браузер (возможно, в анонимной вкладке, не проверял). Вариант когда ставится кука с идентификатором сессии тот самый вариант, когда ты видишь галочку запомнить меня Клиент сабмитит HTML-форму с логопасом. Сервер, если все ок, генерит идентификатор сессии (должен быть достаточно сложным, чтобы нельзя было подобрать перебором), сохраняет идентификатор в хранилище (куда и как отдельная тема, с идентификатором так же могут храниться доп данные). Сервер отвечает клиенту статусом 302 - перенаправление на страницу отличную от формы аутентификации. В этом же ответе устанавливает куку со значением идентификатора сессии. Теперь браузер при каждом обращении к серверу будет отправлять эту куку, по значению в которой, сервер и будет проверять авторизован пользователь или нет. Если не задавать время жизни для куки, она будет жить до закрытия браузера. Галочка запомнить меня как раз конвертируется в установку времени жизни сессионной куки. При выходе сервер удаляет сессионные данные из хранилища и удаляет куку с клиента. ps Есть еще варианты с токенами, но оно обычно используются для доступа к API, в случае вебприложений применимо только к SPA. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 11:27 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
Kazantsev Alexey X11 а какая разница, где именно хранить? В смысле, в куках или в сторе? да, я не вижу особой разницы ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 12:50 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
Дегтярев Евгений kealon(Ruslan) не вижу смысла делать "свое наподобие" больше удивляет откуда взрастают такие заблуждения Basic-аутентификация не обязательно открытая передача паролей и прочего, там очень много может быть типов авторизации но ладно, разговор не о ней, она себя очень сильно дискредитровала и пользуются ей в основном в пределах домена кука, параметр - вообще не важно, главное идентификатор сессии передать туда-обратно, что бы сервер мог его использовать для локального хранения есть localStorage Куки зарезали и все фулстеки вдруг ноют "всё пропало, как мы жить дальше будем" - и я в принципе согласен, с такими знаними только в сторожи идти. В http(s) и без куков слона спрятать можно. Есть куча способов. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 12:53 |
|
||
|
Авторизация: запомнить логин и пароль
|
|||
|---|---|---|---|
|
#18+
X11 да, я не вижу особой разницы Если вся работа на сервере то куки, если на клиенте то сторедж. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.12.2019, 12:55 |
|
||
|
|

start [/forum/topic.php?fid=58&msg=39904481&tid=2038750]: |
0ms |
get settings: |
6ms |
get forum list: |
18ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
141ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
66ms |
get tp. blocked users: |
1ms |
| others: | 209ms |
| total: | 458ms |

| 0 / 0 |
