Как работает аутентификация на основе файлов cookie?



может ли кто-нибудь дать мне пошаговое описание того, как работает аутентификация на основе файлов cookie? Я никогда не делал ничего, связанного с аутентификацией или куки. Что нужно сделать браузеру? Что нужно сделать серверу? В каком порядке? Как мы можем держать вещи в безопасности?



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

656   3  

3 ответов:

cookie-это в основном просто элемент в словаре. Каждый элемент имеет ключ и значение. Для аутентификации ключ может быть чем-то вроде "имя пользователя", а значение будет именем пользователя. Каждый раз, когда вы делаете запрос на сайте, в браузере включить куки в запрос, и сервер будет проверять куки. Таким образом, аутентификация может быть выполнена автоматически.

чтобы установить cookie, вам просто нужно добавить его в ответ, который сервер отправляет обратно после запросы. Затем браузер добавит файл cookie после получения ответа.

существуют различные параметры, которые можно настроить на стороне сервера cookie, например время истечения срока действия или шифрование. Зашифрованный файл cookie часто называют подписанным файлом cookie. В основном сервер шифрует ключ и значение в элементе словаря, поэтому только сервер может использовать информацию. Тогда куки будет в безопасности.

браузер сохранит куки, установленные сервером. В HTTP-заголовок каждого запроса, который браузер делает на этот сервер, он добавит куки. Он будет добавлять только куки для доменов, которые их устанавливают. Example.com можно установить файл cookie, а также добавить параметры в заголовке HTTP для браузеров, чтобы отправить файл cookie обратно в поддомены, например sub.example.com. было бы недопустимо, чтобы браузер когда-либо отправлял файлы cookie в другой домен.

Я понимаю, что это уже много лет, но я думал, что могу расширить ответ Конора и добавить немного больше к обсуждению.

может ли кто-нибудь дать мне пошаговое описание того, как работает аутентификация на основе файлов cookie? Я никогда не делал ничего, связанного с аутентификацией или куки. Что нужно сделать браузеру? Что нужно сделать серверу? В каком порядке? Как мы можем держать вещи в безопасности?

Шаг 1: Клиент > Подписание вверх

прежде всего, пользователь должен зарегистрироваться. Клиент отправляет HTTP-запрос на сервер, содержащий его/ее имя пользователя и пароль.

Шаг 2: сервер > обработка Регистрация

сервер получает этот запрос и хэширует пароль перед сохранением логина и пароля в базе данных. Таким образом, если кто-то получает доступ к вашей базе данных, они не будут видеть фактические пароли ваших пользователей.

Шаг 3: Клиент > Логин пользователя

теперь ваш пользователь входит в систему. Он / она предоставляет свое имя пользователя / пароль и снова, это публикуется как HTTP-запрос к серверу.

Шаг 4: сервер > проверка логина

сервер ищет имя пользователя в базе данных, хеширование пароля логина, и сравнивает его с ранее зашифрованным паролем в базе данных. Если это не проверить, мы можем отказать им в доступе по отправка кода состояния 401 и завершение запрос.

Шаг 5: сервер > создание маркера доступа

Если все будет проверено, мы создадим маркер доступа, который однозначно идентифицирует сеанс пользователя. Все еще на сервере, мы делаем две вещи с токеном доступа:

  1. хранить его в базе данных, связанной с этим пользователем
  2. прикрепите его к файлу cookie ответа, который будет возвращен клиенту. Обязательно установите дату/время истечения срока действия, чтобы ограничить пользователя сессия

отныне файлы cookie будут прикрепляться к каждому запросу (и ответу), сделанному между клиентом и сервером.

Шаг 6: клиент > создание запросов страницы

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

Это должно помочь вам начать. Обязательно очистите файлы cookie при выходе из системы!

Аутентификация На Основе Файлов Cookie

аутентификация на основе файлов cookie обычно работает в этих 4 шагах -

  1. пользователь предоставляет имя пользователя и пароль в форме входа и нажимает кнопку Войти.
  2. после выполнения запроса сервер проверяет пользователя на бэкэнде путем запроса в базе данных. Если запрос действителен, он создаст сеанс, используя информацию о пользователе, полученную из базы данных, и сохранит их для каждого сеанса a создается уникальный идентификатор, называемый идентификатором сеанса, по умолчанию идентификатор сеанса будет передан клиенту через браузер.
  3. браузер будет отправлять этот идентификатор сеанса на каждый последующий запрос, идентификатор сеанса проверяется по базе данных, на основе этого идентификатора сеанса веб-сайт будет идентифицировать сеанс, принадлежащий какому клиенту, а затем предоставить доступ к запросу.

  4. Как только пользователь выходит из приложения, сеанс уничтожается как на стороне клиента, так и серверный.

Comments

    Ничего не найдено.