Как запретить нескольким клиентам использовать один и тот же идентификатор сеанса? Я спрашиваю об этом, потому что хочу добавить дополнительный уровень безопасности, чтобы предотвратить перехват сеанса на моем веб-сайте. Если хакер каким-то образом вычислит идентификатор сеанса другого пользователя и сделает запросы с этим SID, как я могу обнаружить, что на сервере есть разные клиенты, использующие один SID, и затем отклонить попытку взлома?
РЕДАКТИРОВАТЬ
Я принял ответ Гамбо после тщательного рассмотрения, потому что пришел к выводу, что то, о чем я спрашиваю, for невозможно из-за ограничений протокола HTTP без сохранения состояния. Я забыл, пожалуй, самый фундаментальный принцип HTTP, и теперь, когда я думаю об этом, этот вопрос кажется мне немного тривиальным.
Позвольте мне уточнить, что я имею в виду:
Позвольте мне уточнить, что я имею в виду:
p>
После того, как пользователь А авторизуется на сайте example.com, ему присваивается некоторый случайный идентификатор сеанса, для простоты пусть это будет «abc123». Этот идентификатор сеанса хранится в виде файла cookie на стороне клиента и проверяется сеансом на стороне сервера, чтобы гарантировать, что вошедший в систему пользователь остается в системе при переходе с одной веб-страницы на другую. Этот файл cookie, конечно, не должен был бы существовать, если бы HTTP не был без сохранения состояния. По этой причине, если пользователь Б украдет SID пользователя А и создаст на его компьютере файл cookie со значением «abc123», он успешно перехватит сеанс пользователя А, но у сервера просто не будет возможности законно распознать этот идентификатор пользователя Б. запрос ничем не отличается от запросов пользователя А, и поэтому у сервера нет причин отклонять какой-либо запрос. Даже если бы мы перечислили сеансы, которые уже были активны на сервере, и попытались увидеть, обращается ли кто-то к уже активному сеансу, как мы можем определить, что к сеансу незаконно обращается другой пользователь, а не тот же пользователь? который уже вошел в систему с идентификатором сеанса, но просто пытается сделать с его помощью еще один запрос (т. е. перейти на другую веб-страницу). Мы не можем. Проверяете пользовательский агент? Его можно подделать, но, тем не менее, он хорош в качестве меры глубокоэшелонированной защиты. IP-адрес? Может измениться по законным причинам - но вместо того, чтобы вообще не проверять IP-адрес, я предлагаю проверить что-то вроде первых двух октетов IP, поскольку даже пользователь в сети с тарифным планом передачи данных, у которого постоянно меняется IP-адрес по вполне законным причинам обычно меняются только два последних октета их IP-адреса.
В заключение, именно HTTP без сохранения состояния обрекает нас на то, что мы никогда не сможем полностью защитить наши веб-сайты от сеансов. перехвата, но хорошие практики (например, те, что предоставил Гамбо) будут достаточно хороши, чтобы предотвратить большинство сессионных атак. Таким образом, попытка защитить сеансы от перехвата путем отклонения нескольких запросов одного и того же SID просто смехотворна и противоречит всей цели сеансов.
Подробнее здесь: https://stackoverflow.com/questions/122 ... -hijacking
Предотвращение перехвата сеанса ⇐ Php
Кемеровские программисты php общаются здесь
1729799508
Anonymous
Как запретить нескольким клиентам использовать один и тот же идентификатор сеанса? Я спрашиваю об этом, потому что хочу добавить дополнительный уровень безопасности, чтобы предотвратить перехват сеанса на моем веб-сайте. Если хакер каким-то образом вычислит идентификатор сеанса другого пользователя и сделает запросы с этим SID, как я могу обнаружить, что на сервере есть разные клиенты, использующие один SID, и затем отклонить попытку взлома?
[b]РЕДАКТИРОВАТЬ[/b]
Я принял ответ Гамбо после тщательного рассмотрения, потому что пришел к выводу, что то, о чем я спрашиваю, for невозможно из-за ограничений протокола HTTP без сохранения состояния. Я забыл, пожалуй, самый фундаментальный принцип HTTP, и теперь, когда я думаю об этом, этот вопрос кажется мне немного тривиальным.
Позвольте мне уточнить, что я имею в виду:
Позвольте мне уточнить, что я имею в виду:
p>
После того, как пользователь А авторизуется на сайте example.com, ему присваивается некоторый случайный идентификатор сеанса, для простоты пусть это будет «abc123». Этот идентификатор сеанса хранится в виде файла cookie на стороне клиента и проверяется сеансом на стороне сервера, чтобы гарантировать, что вошедший в систему пользователь остается в системе при переходе с одной веб-страницы на другую. Этот файл cookie, конечно, не должен был бы существовать, если бы HTTP не был без сохранения состояния. По этой причине, если пользователь Б украдет SID пользователя А и создаст на его компьютере файл cookie со значением «abc123», он успешно перехватит сеанс пользователя А, но у сервера просто не будет возможности законно распознать этот идентификатор пользователя Б. запрос ничем не отличается от запросов пользователя А, и поэтому у сервера нет причин отклонять какой-либо запрос. Даже если бы мы перечислили сеансы, которые уже были активны на сервере, и попытались увидеть, обращается ли кто-то к уже активному сеансу, как мы можем определить, что к сеансу незаконно обращается другой пользователь, а не тот же пользователь? который уже вошел в систему с идентификатором сеанса, но просто пытается сделать с его помощью еще один запрос (т. е. перейти на другую веб-страницу). Мы не можем. Проверяете пользовательский агент? Его можно подделать, но, тем не менее, он хорош в качестве меры глубокоэшелонированной защиты. IP-адрес? Может измениться по законным причинам - но вместо того, чтобы вообще не проверять IP-адрес, я предлагаю проверить что-то вроде первых двух октетов IP, поскольку даже пользователь в сети с тарифным планом передачи данных, у которого постоянно меняется IP-адрес по вполне законным причинам обычно меняются только два последних октета их IP-адреса.
В заключение, именно HTTP без сохранения состояния обрекает нас на то, что мы никогда не сможем полностью защитить наши веб-сайты от сеансов. перехвата, но хорошие практики (например, те, что предоставил Гамбо) будут достаточно хороши, чтобы предотвратить большинство сессионных атак. Таким образом, попытка защитить сеансы от перехвата путем отклонения нескольких запросов одного и того же SID просто смехотворна и противоречит всей цели сеансов.
Подробнее здесь: [url]https://stackoverflow.com/questions/12233406/preventing-session-hijacking[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия