Мне было поручено попытаться устранить проблему с управлением сеансами на веб-сервере. Код написан на языке c и довольно старый. Сеансы ограничены созданием папки для нового сеанса, и сверху запускается небольшой скрипт php, который проверяет, что SID действителен для вошедшего в систему пользователя.
Однако, как работает программа, SID хранится в URL! поэтому любые копии копий приводят к перехвату сессии. Теперь мне сказали, что невозможно изменить тот факт, что SID хранится в URL. Использование файлов cookie невозможно, поскольку некоторые клиенты имеют высокие настройки безопасности в своих браузерах, и это также нельзя изменить. Единственное, о чем я могу думать, это перезапись URL-адреса, сохраняющая SID в скрытом поле, но я все еще жду информацию от моего менеджера, я не думаю, что это будет возможно, так как HTML-файлы предварительно написаны, и я не думаю, что к ним можно добавить скрытые поля, может быть, это может быть сделано на лету серверной программой, я не уверен. И моей последней идеей было использовать токены или просто начать новый сеанс, если найден другой IP-адрес или строка User-Agent, даже если у него есть действительный SID.
Я не очень много знаю о веб-безопасности. Я учусь в университете и в основном на программировании на C, но мне дали эту задачу как небольшой побочный проект, с которым я хотел бы попытаться что-то сделать.
У кого-нибудь из вас есть указатели?
Я знаю, что я был расплывчатым, и мне не разрешают отправлять любой код :( извините
Спасибо за помощь заранее.