Это старая ветка, и я не считаю, что ответ, получивший наибольшее количество голосов / избранных, является правильным.
Как отмечает @Nateowami, обмен стеками безопасности ветка описывает ряд проблем с базовой аутентификацией.
Хочу отметить еще один: если вы правильно проверяете свой пароль, то базовая аутентификация делает ваш сервер более уязвимым для отказа в обслуживании. Почему? Раньше считалось, что для проверки пароля достаточно соленого хеша. Это больше не так. В настоящее время мы говорим, что вам нужны медленные функции, чтобы предотвратить перебор паролей в случае, если база данных станет уязвимой (что случается слишком часто). Если вы используете базовую аутентификацию, вы заставляете свой сервер выполнять эти медленные вычисления при каждом вызове API, что создает большую нагрузку на ваш сервер. Вы делаете его более уязвимым для DoS, просто используя этот устаревший механизм аутентификации.
В более общем плане пароли имеют более высокую ценность, чем сеансы: компрометация пароля пользователя позволяет захватить учетную запись пользователя на неопределенный срок, не говоря уже о возможности взлома других систем, к которым пользователь получает доступ, из-за повторного использования пароля; тогда как сеанс пользователя ограничен по времени и ограничен одной системой. Следовательно, в целях глубокой защиты ценные данные, такие как пароли, не должны использоваться повторно, если в этом нет необходимости. Базовая проверка подлинности - устаревшая технология, и ее не рекомендуется использовать.
person
TheGreatContini
schedule
04.09.2017