В информатике идентификатор сеанса , идентификатор сеанса или токен сеанса — это фрагмент данных, который используется в сетевых коммуникациях (часто по HTTPS ) для идентификации сеанса , серии связанных обменов сообщениями. Идентификаторы сеанса становятся необходимыми в случаях, когда инфраструктура связи использует протокол без сохранения состояния, такой как HTTP. Например, покупатель, который посещает веб-сайт продавца, хочет собрать несколько статей в виртуальной корзине, а затем завершить покупку, перейдя на страницу оформления заказа на сайте. Обычно это включает в себя постоянное общение, когда клиент запрашивает несколько веб-страниц и отправляет их ему обратно сервером. В такой ситуации жизненно важно отслеживать текущее состояние корзины покупателя, и идентификатор сеанса — один из способов достижения этой цели.
Идентификатор сеанса обычно предоставляется посетителю при первом посещении сайта. Он отличается от идентификатора пользователя тем, что сеансы обычно недолговечны (они истекают после заданного времени бездействия, которое может составлять минуты или часы) и могут стать недействительными после достижения определенной цели (например, после того как покупатель завершил свой заказ, он не может использовать тот же идентификатор сеанса для добавления дополнительных товаров).
Поскольку идентификаторы сеансов часто используются для идентификации пользователя, вошедшего на веб-сайт, они могут быть использованы злоумышленником для перехвата сеанса и получения потенциальных привилегий. Идентификатор сеанса обычно представляет собой случайно сгенерированную строку для снижения вероятности получения действительного идентификатора путем перебора . Многие серверы выполняют дополнительную проверку клиента на случай, если злоумышленник получил идентификатор сеанса. Блокировка идентификатора сеанса по IP-адресу клиента является простой и эффективной мерой, пока злоумышленник не может подключиться к серверу с того же адреса, но может, наоборот, вызвать проблемы для клиента, если у клиента есть несколько маршрутов к серверу (например, избыточные интернет-подключения) и IP-адрес клиента подвергается трансляции сетевых адресов .
Примеры имен, которые некоторые языки программирования используют при наименовании своих файлов cookie, включают JSESSIONID ( Java EE ), PHPSESSID ( PHP ) и ASPSESSIONID ( Microsoft ASP ).