серера для хостинга

PHP: авторизация доступа - GetInfo.Ru

   Данный текст - маковка из книжки Антона Орлова "PHP: здоровые приемы", вышедшей в издательстве "Горячая черта - Телеком".    Знаете, чисто престарелые "компьютерщики" обучаются свежеиспеченному стилю программирования? Они не штудируют толстенные учебники, не штудируют конспекты и руководства. Им не нужны премудрые преподаватели, они не потеют над скрупулезно выполняемыми уроками. Им хватает итого лишь скупого описания слога и нескольких уже готовых программ, написанных на нем. На основании разбора этого они стиль и осваивают.    Что необходимо для экого усвоения? Кроме умения мекать, созерцать, сооружать выводы - ничего! ну-ка, неизменнее, почитай ничего. Еще нужны те самые лаконическое описание слога и несколько образцов.    Книга "PHP: здоровые приемы" собственно их вам и даст. В ней чисто один-одинехонек и приводится небольшая справка по стилю программирования PHP и текст сценариев, выполняющих наиболее популярные у демиургов сайтов задачи. А все сценарии оборудованы детальным подстрочным комментарием о предначертании всякой их строчки. этак что вы можете чисто учить стиль PHP по этой книжке, этак и разом же впрыскивать тексты сценариев в компьютер и размещать их на сайте. А в "Приложении" к книжке проглатывать описание полно увлекательных приемов, рассказов о коих не наткнешься даже на просторах Интернета.    Книгу "PHP: здоровые приемы" вы можете взять в книжных магазинах России. По мере поступления книжки в Интернет-магазины на сайте автора будут размещаться ссылки для ее приобретения online. Если вы алкая бы подчас посещаете сайты, на коих проглатывать "защищенная зона", то проглатывать доля, доступ на кою вероятен лишь по найденным логину и паролю (например, почтовые службы с web-интерфейсом или сервисы хостинга), то вас наверняка интересовало, чисто эта авторизация происходит. И наверняка вам хотелось обстряпать то же самое и на вашем сайте, ведь надобность в этом подчас возникает. басовитее будет рассказано о технологиях авторизации доступа, основанных на оружиях web-сервера и технологии PHP. Думается, смысл слова "авторизация" вам удобопонятно - это не что другое, чисто обеспечение возможности доступа к чему-либо тем и единственно тем пользователям, какие знают обусловленные кодовые слова - логин и пароль. Для того, чтоб к файлам, находящимся в какой-либо директории, могли владеть доступ лишь обусловленные посетители, знающие два кодовых слова (логин и пароль), можно использовать встроенные в Web-сервер Apache оружия ограничения доступа. В конфигурационных файлах Apache проглатывать особая строчка - AccessFileName. Там показано имя файла, найдя кой в той или другой папке, Apache выполнит по взаимоотношению к ней предписания, содержащиеся в этом файле. По традиции этим именем представляет .htaccess, и собственно этаким оно учреждено на всех серверах хостинга. В файл .htaccess можно примостить команды ограничения доступа к той папке, в коей это файл будет. Выглядят эти команды этак. Вначале указывается звание защищенной полосы - AuthName. собственно это звание будет впоследствии выводиться в запросе посетителю (рис.8.1). - указывается линия к файлу с логинами и паролями посетителей. Этот файл должен быть создан в особом формате, этак чисто пароли в нем хранятся в зашифрованном облике. Для создания файлов с паролями применяются особые программы - таковую программу вы можете взять, так, в разделе технической поддержки братии Valuehost по адресу . Запускать ее вытекает из командной строки в формате 69-htpasswd.exe -c имя_файла_паролей логин , а в растворившемся окне завести пароль (используя единственно латинские буквы). чтоб добавить свежие логины и пароли в уже водящийся файл, эту программу вытекает запускать без параметра . .htpasswd . Обычно Apache настраивается этак, что файлы с именами .htaccess .htpasswd невозможно проглядеть чрез Web - при экий попытке будет торчать лишь оповещение о запрещении доступа. Однако выполнение экий настройки (для этого необходимо показать несколько параметров в httpd.conf - конфигурационном файле Apache) - целиком на совести администраторов web-сервера. Обратите внимание, что линия к файлу паролей вытекает указывать безусловный - то проглатывать от корневого каталога сервера с предписанием итого дерева каталогов. На серверах хостинга он всегдашне обладает вид /pub/home/имя аккаунта/..../имя файла паролей , а на вашем локальном компьютере зависит от месторасположения web-сервера и его настроек, так, может выглядеть и как f:/www/exper/cov/.htpasswd . AuthUserFile /pub/home/exper/cov/.htpasswd require valid-user Итак, пожелав "запаролить" доступ к ресурсам какой-либо папки, создайте файл с именем .htaccess с вышеуказанными параметрами. Создав файл .htaccess, загрузите программу для создания файла паролей и поработайте с нею. После этого загрузите оба файла на собственный сайт: .htaccess - в закрываемую папку, а файл с паролями - в соответствии с прописанным в .htaccess путем к нему (рис.8.2). Вот и все! нынче при попытке запроса любого ресурса из защищенной папки (в том числе и картинок, включенных в прочие страницы тэгом ) посетителю будет выдан типовой запрос логина и пароля (рис.8.1). Если логин и пароль сходятся с хранящимися в файле паролей (по умолчанию проглатывать три попытки ввода), то доступ дозволено, если дудки - оружиями web-сервера выводится отвечающее оповещение. Доступ открывается "для обусловленного окна браузера и всех его дочерних окон". другими словами, если посетитель раз завел точные логин и пароль, то он, трубя в одном и том же окне браузера, может не единственно просторно странствовать по всем ресурсам в запароленной папке, однако и, выйдя из нее, просторно вновь в нее вступить. То же самое пунктуально и для всех окон браузера, раскрытых из отправного с поддержкой команды "открыть в финальном окне". А вот если пользователь раскроет свежеиспеченное окно браузера и заскочит уже в нем в эту папку, то запрос на ввод логина и пароля покажется вновь (разумеется, если страница не была взята из кэша браузера - в финальном случае хватает ее обновить). Использовать настоящий способ вытанцовывается не вечно, - администрация сервера другой один-одинехонек не позволяет это сооружать посетителям, безусловно и программа для создания файла паролей не вечно под лапой. Однако оружия PHP позволяют стать без применения файлов .htaccess. В PHP проглатывать команда Header - она позволяет отослать браузеру посетителя, запросившему страницу с включающим эту команду сценарием, обусловленную служебную информацию - этак именуемый "заголовок". наличествует полно много вариантов заголовков (например, заголовок "Location: http://адрес" приведет к перенаправлению на показанный URL; то же самое, что и при использовании мета-тэга http-equiv с параметром "Refresh"), однако для авторизации нам потребуется заголовок "WWW-Authenticate". В том случае, если браузер получает заголовок "WWW-Authenticate", то он выдает посетителю типовое окно для ввода логина и пароля, какое вы наверняка немало один-одинехонек видали (как на рис.8.1). чисто единственно посетитель жмет кнопку Ok этого окна, браузер вновь заходит на ту страницу, с коей этот заголовок был ему направлен, однако на этот один-одинехонек уже передает сценарию на этой странице две переменные - то, что было заведено в поля ввода логина и пароля. Web-сервер выпускает этим переменным имена $PHP_AUTH_USER и $PHP_AUTH_PW, и их становится можно использовать в прочих сценариях на странице чисто любые прочие переменные - использовать в речениях, сравнивать с каким-либо эталоном, присваивать им какие-либо прочие значения, наконец. Если посетитель жмет кнопку Cancel в диалоговом окне запроса логина и пароля, то выполнение кода страницы прямо продолжается со вытекающей строчки за командой Header. Никакие переменные странице не переходят. - не простые. Если они один-одинехонек один были найдены, то впоследствии они переходят всем web-страницам, какие загружаются в то же самое окно браузера, где случилась авторизация! другими словами, если по каким-то причинам требуется пробовать логин и пароль посетителя на всякой из страниц сайта (скажем, выводить неодинаковую информацию авторизованным и неавторизованным посетителям), то любой один-одинехонек запрашивать эти настоящие не надобно - хватает использовать значения переменных . Значения настоящих переменных теряются в случае закрытия окна браузера, в каком изначально случилась авторизация (а в прочие окна они и не передаются). При выходе за пределы виртуального сервера, на каком случилась авторизация (обычно его меры сходятся с гранями аккаунта), настоящие переменные перестают переходить страницам, однако при вторичном входе на отправной адрес вновь становятся доступными (это обеспечение безопасности - за пределами вашего виртуального сервера логины и пароли ваших посетителей никто опознать из их браузеров не сможет). впопад, при использовании прошлого способа - оружиями Apache - в переменные тоже помещаются значения логина и пароля, заведенные пользователем. В принципе вы можете найти им какое-то применение. К образцу, припомним содержание седьмой главы, в коей рассматривалась программа для самостоятельной загрузки посетителями файлов на сайт. Помните, в чем была проблема - проверка пароля и сама загрузка файлов творились сценарием на одной и той же странице, и в случае оплошки при вводе пароля посетитель все равновелико был вырван дожидаться завершения загрузки файла на сайт, чтобы тот был разом же оттуда услан? этак вот - используя настоящий способ авторизации (и предшествующий - оружиями Apache - тоже), можно расчленить авторизацию и закачку файлов, предоставив посетителю возможность вначале ввести логин с паролем, а единственно там, если они точные, выдать ему форму для закачки файла. Если добавить на страницу обработки закачанного файла лаконичную программу для проверки переменных , то можно не дрожать захода на страницу загрузки неавторизованных посетителей (скажем, по закладке или путем прямого комплекта ее адреса в браузере) - таковые будут отсеяны, а требования легальных обработаны. басовитее приводится сценарий, кой запрашивает у пользователя логин и пароль, проверяет их по присутствию в обусловленном файле, а затем выводит либо приглашение к загрузке файла, либо оповещение об отказе в авторизации. Итак, зачин сценария. Обратите внимание, что для того, чтоб он сработал, до команды Header в выдаваемый документ не следует ничего выводиться: ни итог выполнения команд PHP, ни простое содержимое страницы, - этак уж воспринимают web-страницы браузеры. В частности, настоящий сценарий должен располагаться в самом начале страницы, и символы <?php должны быть на ней самыми первыми, перед ними не следует быть даже пробела. <?php Поскольку после выдачи окна авторизации браузер вновь зажигает web-страницу, передавая ей ав-торизационные настоящие, то можно проверить их еще до отправки браузеру заголовка WWW-Authenticate. В самом деле - если окно авторизации не выводилось вообще, то переменные будут порожними (вернее, вообще не определены), а если выводилось - то в них очутится информация, заведенная посетителем (то проглатывать логин и пароль). Наиболее простым вариантом будет инструкция логина и пароля в тексте самой программы авторизации - ведь все равновелико код на PHP, размещающийся на странице, посетители углядеть не смогут . В этом случае команда проверки содержимого переменных if (($PHP_AUTH_USER!="login")||($PHP_AUTH_PW!= "parol")) { отдаленнее подходит тот код, кой выполняется в случае несоответствия содержимого переменных ука-занным в команде логину и паролю. В случае самой первой загрузки страницы он, природно, тоже выполнится - переменные в эком случае еще не будут найдены. Итак - выдаем окно авторизации, дл

Похожие статьи:

доп мат