Это безопасная система аутентификации для приложения на основе ajax?

Заранее извиняюсь, потому что я не силен ни в объяснении вещей, ни в блок-схемах. Это не конкретная проблема с кодом, а общий вопрос о безопасности сеанса.

Я пытаюсь устранить как можно больше потенциальных проблем сразу. Я думаю, что это заботится о:

  • CSRF
  • Фиксация сеанса
  • Предсказание сеанса
  • Кража файлов cookie (через уязвимости браузера)
  • Побочный эффект сеанса

Я понимаю, что сеанс все еще может быть взломан, если IP-адрес злоумышленника и заголовок пользовательского агента совпадают с заголовком аутентифицированного пользователя. Я думаю, чтобы сделать это пуленепробиваемым, вам понадобится SSL?

Я был бы признателен за любую критику, если вы сможете разобрать, что я пытаюсь сказать с помощью кластера ниже. Это более или менее то, что я делаю:

РЕДАКТИРОВАТЬ - еще один вопрос, который у меня возник: безопасно ли предположить, что у пользователя не будет IP-адреса, который меняется достаточно часто, чтобы это стало проблемой?

блок-схема


person Greg    schedule 27.07.2010    source источник


Ответы (1)


Это выглядит нормально, хотя вам нужно выяснить, что делать с запросами AJAX, которые должны возвращать JSON или XML, когда срок действия сеанса истек.

Нет, небезопасно предполагать, что IP-адрес останется прежним. Несмотря на то, что AOL была почти мертва, она была печально известна тем, что использовала 20-30 прокси-серверов для запроса ваших HTTP-серверов в поисках одного коммутируемого клиента.

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

person m1tk4    schedule 27.07.2010