Безопасность веб-логин архитектуры? - PullRequest
0 голосов
/ 03 мая 2011

Я ввел логин на сайте (не использовал asp.net по умолчанию).Когда пользователь вошел в систему, я сохраняю его IP в БД.Если он ничего не делает за X минут, его ip удаляется.Всякий раз, когда пользователь пытается зайти на страницу с ограниченным доступом, я проверяю, есть ли у него его ipЕсли так, он может продолжить.Проблема в том, что если вошедший в систему пользователь находится в сети Wi-Fi или в любой другой общей сети, у всех остальных пользователей будет тот же IP-адрес, и это не очень хорошо.Как я могу преодолеть эту проблему?Являются ли куки лучшим ответом?

Ответы [ 2 ]

1 голос
/ 04 мая 2011

Я полагаю, по тегам, что вы используете WebLogic Server для своего решения, хотя ваш комментарий о ASP.net заставляет меня задуматься. (хотя для вопроса не заданы ASP-теги?)

Короткий ответ: вы делаете жизнь сложнее, чем нужно - если я правильно понимаю вашу проблему - что вы хотите, чтобы сессия бездействующего пользователя была отключена по истечении определенного периода бездействия по соображениям безопасности - тогда вы это можно сделать через конфигурацию приложения с параметром session-timeout:

http://download.oracle.com/docs/cd/E13222_01/wls/docs81/webapp/web_xml.html#1017275

Везде, где это возможно, когда речь идет о безопасности, я всегда предпочитаю избегать применения собственного решения. Просто не достаточно умен, чтобы доверять этому. : -)

Извиняюсь, если я не в своем понимании здесь.

1 голос
/ 03 мая 2011

Как пользователь входит в систему? Имя пользователя Пароль? Я предполагаю, что пароль хранится как соленый хеш в базе данных, так почему бы не передать cookie с именем пользователя и хэшированным паролем? Всякий раз, когда они пытаются получить доступ к закрытой области, проверяйте хэш имени пользователя / пароля в вашей базе данных. Обязательно санируйте значения файлов cookie, прежде чем проверять их по базе данных, чтобы предотвратить внедрение. Или, в зависимости от языка, на котором вы находитесь, вы можете использовать отслеживание сеанса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...