Базовая HTTP авторизация на PHP

Автор: | 19.05.2019

Наиболее часто встречающейся схемой HTTP авторизации является базовая (Basic).

Всего существует несколько способов http авторизации:

  • Basic
  • Digest
  • NTLM
  • Negotiate

Они отличаются друг от друга уровнем безопасности. Базовая авторизация самая не безопасная. Пароль передается практически в открытом виде (закодирован в base64) в строке Authorization. Плюс браузер запоминает введенные логин и пароль, в следствии чего разлогиниться становится очень проблематично. Так же нет защиты от брутфорсинга. Ничто не мешает вам бесконечно долго подбирать логин и пароль.

В целом это простой и проверенный способ, который в сочетании с протоколом https даст вам относительно безопасный способ авторизации.

Пример php-скрипта, который обязывает клиента авторизоваться на просматриваемой странице:

Как только браузер получает от сервера заголовок «WWW-Authenticate«, то он сразу же показывает форму ввода логина и пароля.