Size: a a a

2020 March 13

OA

Oleg Andreev in rust_offtopic
в основном обжси
источник

OA

Oleg Andreev in rust_offtopic
polunin.ai
Хм, гениально
Почему сразу так не сделали все? Зачем тогда пароли
ну там, https не завезли до 2013 всем подряд. И слали забытый пароль по http
источник

OA

Oleg Andreev in rust_offtopic
охуенно
источник

OA

Oleg Andreev in rust_offtopic
и tls нормальный только с версии 1.2
источник

OA

Oleg Andreev in rust_offtopic
все остальные - ехал дырка через дырка
источник

p

polunin.ai in rust_offtopic
Oleg Andreev
тл;др:

1. пароли не нужны
2. сделай кнопку "send me a link by email"
3. положи статический секрет на сервер. Лучше всего генери его случайно на время жизни сервера, и держи в памяти, если это один инстанс и он не ребутится каждые 5 минут.
4. возьми merlin Transcript чтоб посчитать мак с таймаутом, user_id и секретом.
5. пришли ссылку с мак-кодом, user_id и таймаутом.
6. при входе - проверь что exp_time > now
7. сосчитай мак на сервере и сравни с полученным.
8. положи куки
Не совсем понимаю зачем ещё тайм-аут туда
Все равно в Кеше будет храниться секрет этот тайм-аут. Просто смотришь, если в кек нет нужного секрета, то значит тайм-аут прошел?
источник

OA

Oleg Andreev in rust_offtopic
polunin.ai
Не совсем понимаю зачем ещё тайм-аут туда
Все равно в Кеше будет храниться секрет этот тайм-аут. Просто смотришь, если в кек нет нужного секрета, то значит тайм-аут прошел?
чтоб ты мог поменять секрет на сервере и все старые ссылки не работали
источник

OA

Oleg Andreev in rust_offtopic
и не делать в БД табличку с кодами
источник

OA

Oleg Andreev in rust_offtopic
а секрет тебе нужен один
источник

OA

Oleg Andreev in rust_offtopic
а не per user
источник

p

polunin.ai in rust_offtopic
А, понял
источник

OA

Oleg Andreev in rust_offtopic
если у тебя сервер один инстанс или сам себя форкает или мультитредит - то тут оч легко
источник

OA

Oleg Andreev in rust_offtopic
ты генеришь секрет в памяти и он никогда никуда не виден
источник

OA

Oleg Andreev in rust_offtopic
ни в каких конфигах, ENV и т.д.
источник

OA

Oleg Andreev in rust_offtopic
оч легко и просто
источник

OA

Oleg Andreev in rust_offtopic
если ребутить не чаще 10 минут, то UX будет прекрасный
источник

OA

Oleg Andreev in rust_offtopic
ну иногда у кого-то из-за ребута ссылка не пройдет - пришлет еще раз
источник

p

polunin.ai in rust_offtopic
А если несколько инстансов, то тогда нужно синхронизировать секрет между всеми инстансами постоянно?
источник

В

Вафель in rust_offtopic
А откуда можно получить неконстантные данные только с std?

Хочу на godbolt'е проверить как функции компилятся...
источник

OA

Oleg Andreev in rust_offtopic
тогда просто первый инстанс кладет секрет в файл, остальные оттуда читают
источник