Как лучше передавать id сессии
Хочу сделать свою авторизацию на основе REST API.
Работать она будет следующим образом:
Пользователь отправляет json вида { login: "foo", password: "bar" } на /login. В ответ получает уникальный { session_id: "12345" }. Далее во всех запросах, для которых нужна авторизация, я планирую подсовывать этот session_id.
Вопрос в том, куда лучше его подсовывать с точки зрения безопасности. Рассматриваю два варианта:
- Json ключом в тело запроса (тут возникает вопрос, что в этом случае делать с GET запросами)
- В заголовок HTTP запроса
Чем сложнее завладеть злоумышленнику, телом или заголовком? Или может быть есть другие варианты?
P.S. Куки или сторонние механизмы вроде basic auth, oauth, etc - не рассматриваю.
Ответы (1 шт):
Попробую ответить на ваши вопросы.
Чем сложнее завладеть злоумышленнику, телом или заголовком?
По сути это один запрос и заголовок и тело находится вместе. Если "злоумышленник" добрался до заголовков, то думаю дальше труда особого не вижу.
Или может быть есть другие варианты?
Ну собственно, сколько вариантов передачи параметров серверу вы знаете? еще один это в в самом пути URL.
К вопросу лучше хуже. У каждого способа есть свои преимущества собственно как и недостатки. Всё зависит от задач, способов отправки несколько не для того чтобы один сделать хуже другого