Довольно полезная вещь для web разработчиков…
Блок схема
Оказывается сервер Apache носит такое имя не случайно. Совсем недавно (пару дней назад) для себя открыл, что первоначально сервер устранял ошибки в другом популярном на то время сервере NCSA HTTPd и носил название «a patchy». Начиная со второй версии Apache был полностью переписан заново и не содержит кода вышеупомянутого сервера, но название осталось. Забавно, надо еще найти историю возникновения тезки-вертолета и одноименного племени ).
Во многих статьях и книгах описан принцип HTTP авторизации в PHP, поэтому здесь я не буду его описывать. Общеизвестен и факт, что переменные $_SERVER['PHP_AUTH_USER'] и $_SERVER['PHP_AUTH_PW'] создаются лишь при использовании php как модуля для сервера Apache.
В этом небольшом топике я опишу как добиться кроссплатформенности HTTP авторизации как в модульной версии php, так и в cgi.
Сперва в папку со скриптом необходимо поместить файл .htaccess со следующим содержимым:
Это позволит записывать пару login/password в переменную окружения, названную HTTP_AUTHORIZATION.
Затем добавим в наш скрипт строчки:
list($_SERVER['PHP_AUTH_USER'], $_SERVER['PHP_AUTH_PW']) = explode(':' , base64_decode(substr($_SERVER['HTTP_AUTHORIZATION'], 6)));
Оригинал статьи здесь.
Написал [YS.PRO] :: тэги: cross-platform, http, php, security, авторизация, безопасность, кроссплатформенность




Последние комментарии