2016-10-14 5 views
1

Мне было интересно, существует ли более безопасный способ аутентификации, чем проверка подлинности форм? Мне не нравится тот факт, что при входе на сайт с использованием проверки подлинности форм вы можете скопировать файл cookie на другой компьютер и войти в систему. Я понимаю, что если сайт просматривается до ssl, в середине может отсутствовать человек но мне все равно не нравится тот факт, что мой сайт уязвим таким образом.Есть ли более безопасные средства аутентификации, чем проверка подлинности форм?

Есть ли хорошая альтернатива, кроме проверки подлинности Windows?

Благодаря

+0

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

ответ

0

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

Когда используется токен на основе токена, токены в большинстве случаев не хранятся в файле cookie, но, например, в памяти браузера (объекты Javascript) или, что еще хуже, в местах, подобных localStorage. Фактически это менее безопасно, чем старый добрый идентификатор сессии в httpOnly cookie, который защищен от межсайтового скриптинга, в отличие от почти всего остального в браузере.

Итак, поймите, что практически с любым решением, которое вы выбираете, в основном, что происходит, вы обмениваете свои учетные данные пользователя на какой-то токен, который затем используете для аутентификации, а для сеанса токен эквивалентен вашим учетным данным и между традиционными сеансами и жетонами нет большой разницы. Даже Windows auth делает примерно то же самое, но уровень ниже, на уровне ОС, что делает его менее восприимчивым к атакам, таким как XSS, но делает его уязвимым для атак на основе автоматически отправленных идентификаторов сеансов (например, CSRF).

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

+0

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

Смежные вопросы