обеспечение сессий - PullRequest
       12

обеспечение сессий

0 голосов
/ 08 октября 2009

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

http://carsonified.com/blog/dev/how-to-create-bulletproof-sessions/

Может быть, мы можем провести какое-то обсуждение, указать, что автор ошибся / забыл, и какие существуют лучшие практики?

Например, когда речь идет о другой теме безопасности, такой как инъекции sql, многие люди рекомендуют такие вещи, как mysql_real_escape_strings, но эксперты скажут вам, что ничто не сравнится с подготовленными утверждениями. Судя по комментариям, в этой статье, похоже, есть свои проблемы, поэтому мне интересно, насколько добра или плохи его содержание.

1 Ответ

1 голос
/ 08 октября 2009

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

Такие проблемы, как атака «человек посередине», здесь не рассматриваются (хотя я могу представить, что нечто подобное обычно выходит за рамки прикладного уровня). Другой возможной уязвимостью может быть генерация случайных чисел. Таким образом, в зависимости от реализации генерации сеансовых ключей энтропия сеансовых ключей может быть гораздо ниже, чем максимально возможная энтропия, которая может или не может сделать атаки методом перебора.

Таким образом, от требований к безопасности зависит, каким будет решение, не существует единого решения для безопасности, которое бы работало во всех случаях. Чтобы применить последнее, представьте, что у вас есть действительный идентификатор сеанса и вы знаете, к какому ip связан сеанс. Также предположим, что целью в этом примере является банк. Теперь я могу выполнить запрос на перевод денег на свой счет и выполнить эту работу, подделав свой ip-адрес и предоставив украденный сеанс. Хорошо, ответ на мой запрос никогда не будет получен, поскольку IP-адрес подделан, но кого это волнует, я получил деньги, поскольку сервер принял мой запрос.

Дело в том, что в зависимости от контекста ваши требования к безопасности и, следовательно, ваши решения для безопасности могут сильно различаться.

...