169 похожих чатов

Ребят как и где храните токен? при реализации вебКлиента

7 ответов

14 просмотров
Muzaffar-Rasulov Автор вопроса

а если между серверами?

Можно в и кеше, в оперативке, в БД

Если речь идёт о вебе то с точки зрения безопасности и для защиты от многих типов атак любые данные которые идентифицируют клиента (токен, ид сессии и тд) должны храняться в секюреых куках типа http only, после авторизации браузер сохранит данные у себя и с каждым запросом отправлять на сервер, причём доступ к этим данным js получить не может, тк все работает автоматически то никакие клиенты не нужны

Cookie подход облегчает клиенту, так как браузер отправляет куки автоматически по соответствию хоста. Хотя, для того же Angular http клиента, вроде как, нужно было явно при формировании запроса указать, что credentials true, вроде бы. И на сервере нужно CORS + CSRF подключать для безопасности при Cookie подходе

в любом случаи, если мы говорим про Angular нужен перехватчик запросов чтобы дополнить запрос данными авторизации, это или токен или credentials или что то еще, поэтому это неважно, а что на на счет безопасности надо понимать что есть разные уровни, причем на сервере и на клиенте они разные, куки закрывают вопрос доступа к чувствительным данным, то есть не один код не сможет получить доступ к ним, а CORS + CSRF это другая тема, например если мы делаем SPA на REST то все ровно надо включить CORS и настроить, в некоторых проектах CORS подтверждает запросы с любого домена потому что это публичный API а CSRF редко где в SPA можно использовать, и повторюсь мы сейчас говорим о безопасности на клиенте и на сервере, куки это инструмент для того чтобы не допускать утечку данных с сайт-клиента а CORS + CSRF это уже верификация на сервере, но если злоумышленник не может получить доступ к кукам его дальнейшие действия бесполезные

Я с Вами не спорю, все так

не воспринимайте мои слова как критику 🙂 просто поделился информацией

Похожие вопросы

Обсуждают сегодня

Всем привет, написал код ниже, но он выдает сегфолт, в чем причина? #include <stdio.h> #include <stdlib.h> #include <string.h> struct product { char *name; float price; };...
buzz базз
75
База данных не поможет. Шифрование не поможет. Какие там ещё варианты? Накидывайте.
КТ315
20
А табстоп это сообщение от окна или от элемента управления?
The Bird of Hermes
18
А как лучше конвертировать физический адрес в виртуальный при маппинге? В случае ядра у меня, например, direct mapping, первые 768МБ я как есть мапплю в higher half, а остальн...
Evg Resh
26
Открыл свой двухкилобайтный экзешник в x32dbg, а тут какая-то хрень. Смущает кнопка "выполнить до пользовательского кода", а что ещё может быть в файле помимо него ?
НѣкъиⰘижєжєиꙁъвьсєсвѣтьноѣсѣтиѥсть•
11
Мне были интересны дишные хаки и я нашёл любопытный способ на форуме через __traits, что-то вроде int delegate(int) fac = (int n) => n == 0 ? 1 : n * __traits(parent, {})(n - ...
Constantin F.
1
Вопрос тем кто смотрит видео и слушает подкасты - как вы потом ищете нужную вам информацию? Вот статью я прочитал, потом могу искать нужную мне часть банальным поиском. Пропус...
Aleksandr Druzhinin
4
Всем привет, подскажите/посоветуйте пожалуйста. Фаердак компоненты, имею одно место где бизнес хочет видеть при открытии формы список всех клиентов, это порядка 30к. Мои дово...
Sasha Sch
14
Ребят, если кто в курсе - скажите, а в загранке такое же засилье маркетплейсов? или там простые сермяжные интернет-магазины живут попроще?
Андрей [aharito] Харитонов
14
Коллеги, доброе утро. Запустил на удаленном хосте приложение (ручками зашел туда по ssh и запустил, не командой удаленно). Создал потом ssh-туннель, и с моей машины приложение...
Δημήτηρ
9
Карта сайта