Каковы преимущества использования HTTP-аутентификация с помощью PHP (заголовки HTTP 401)
вместо обычной проверки подлинности формы.
Преимущества "HTTP-аутентификации с помощью PHP"
Ответ 1
С точки зрения безопасности, как на основе формы, так и HTTP Basic Access Authentication используйте обычный текст для отправки данных аутентификации. (Конечно, HTTP Basic Auth дополнительно использует Base64, но это не заминка.)
В то время как HTTP Basic Auth отправляет данные аутентификации по каждому запросу, аутентификация на основе формы отправляет только данные аутентификации при отправке формы (помните: как в обычном тексте). Обычно сеансы используются для поддержания состояния при использовании проверки подлинности на основе форм.
Итак, если вы хотите использовать один из них, обязательно зашифруйте свое соединение с помощью HTTPS, чтобы предотвратить обнюхивание и атаки man-in-the-middle. И когда вы выбираете вариант формы и сеанса, обязательно закрепите свою обработку сеанса, чтобы предотвратить или, по крайней мере, обнаружить мошенники сеанса, такие как Захват сеанса и Фиксация сеанса.
Последний вариант HTTP-дайджест Аутентификация доступа. Основное различие между этим и Basic заключается в том, что Digest является аутентификацией запроса-ответа, тогда как клиент должен выполнить вызов по каждому запросу и ответ - это только хеш MD5. Таким образом, данные аутентификации в текстовом формате не отправляются.
Ответ 2
Ваш вопрос немного расплывчатый, но общий ответ заключается в том, что использование этого метода дает вам более "RESTful" реализацию, которая следует за тем, что HTTP уже хорошо. В этом случае бросание 401 - это то, что другие веб-серверы, веб-прокси и веб-браузеры знают, как обращаться. Если вы просто выплескиваете HTML-форму, это может действовать только конечным пользователем, тогда как использование кодов состояния HTTP позволяет взаимодействовать с машиной.
Я бы рекомендовал проверить http://en.wikipedia.org/wiki/Hypertext_Transfer_Protocol
, чтобы понять, что такое HTTP. Я думаю, что это должно сделать все это более разумным.
Ответ 3
В качестве примера того, что говорила революция, я чаще всего использую HTTP-авторизацию в RSS-каналах для сайтов, использующих auth на основе форм, просто потому, что многие читатели RSS могут выполнять HTTP-аутентификацию, но не могут выполнять авторизацию на основе форм.
Ответ 4
Вы создаете веб-сайты? если да, то используйте <form> метка.. это красивее;)
Вы делаете приложения доступными для других приложений и отправляете некоторые данные? Затем используйте HTTP-аутентификацию.
Насколько я знаю, нет большой разницы в вопросах безопасности, скорости или любых других... просто уродливых и простых в реализации.