Разработка динамических сайтов
SEO услуги
Управление контекстной рекламой

Вход на хостинг

Имя пользователя:*

Пароль пользователя:*

IT-новости

20.04.2016 iPhone 2017 года поместят в водонепроницаемый корпус из стекла

Линейка iPhone в новом году серьезно поменяется. В этом уверен аналитический исследователь Мин Чи Ку......

подробнее

30.07.2015 Ищем уникальный контент для сайта

Ищем уникальный контент для сайта Без уникального контента Ваш сайт обречен на то, что его страницы......

подробнее

11.05.2015 Распространённые ошибки разработчиков сайтов

Не секрет, что в сети Интернет насчитывается миллионы сайтов, и каждый день появляются тысячси новых......

подробнее

Директива Require регламентирует, какие пользователи или группы пользователей имеют доступ к данному ресурсу. В приведённом примере я позволил всем пользователям (конечно, только если они пройдут процедуру авторизации) обращаться к файлам и подкаталогам директории, где размещён наш .htaccess.

Техника ограничения доступа описана многократно, и я не хотел бы повторять здесь других авторов. Для нас будет важно то, что когда клиент работает в директории авторизованно, сервер создаёт ещё две дополнительные переменные: REMOTE_USER и AUTH_TYPE. Первая, как вы понимаете, содержит имя пользователя, вторая – тип авторизации (Basic).

Если несколько пользователей имеют доступ к одному ресурсу, то переменную REMOTE_USER удобно использовать в системах хранения персональных настроек или для ведения журналов.

Эти переменные доступны и CGI-сценариям, и SSI-документам. Например, страница enter.shtml:

<html>

<head><title>Enter</title></head>

<body>

<h1>Hi, <!--#echo var="REMOTE_USER" -->!</h1>

<p>(AUTH_TYPE=<!--#echo var="AUTH_TYPE" -->)</p>

</body>

</html>

Будет выглядеть так:

После успешной авторизации переменные REMOTE_USER и AUTH_TYPE передаются и обработчикам ошибок в дополнение ко всем перечисленным выше, содержащим информацию об ошибке. Эта передача происходит даже в том случае, если обработчик находится за пределами засекреченной области (ошибка, конечно, должна произойти в засекреченной области).

При неудачной авторизации возникает ошибка 401, для которой тоже может быть назначен обработчик:

ErrorDocument 401 /error/401.shtml

или

ErrorDocument 401 /cgi-bin/error.cgi

Мне осталось только заметить, что пользователи могут быть объединены в группы. Для этого существует директива AuthGroupFile. Так вот, информация о том, к какой группе принадлежит пользователь, не передаётся сценарию.

Применение PATH_INFO

Сервер Apache (и не только он) предоставляет интересную возможность: если существует сценарий /cgi-bin/script.cgi, то любой адрес вида /cgi-bin/script.cgi/location/doc.ext считается вполне допустимым. При его обработке выполняется сценарий /cgi-bin/script.cgi, а строка /location/doc.ext передаётся ему в переменной PATH_INFO. Кроме неё, создаётся переменная PATH_TRANSLATED, содержащая как бы путь к запрашиваемому файлу относительно корня файловой системы сервера. Если в нашем примере предположить, что документы сервера расположены в директории /www/docs, то PATH_TRANSLATED будет содержать путь /www/docs/location/doc.ext.


Предыдущая страницаОглавлениеСледующая страница
 
[001] [002] [003] [004] [005] [006] [007] [008] [009] [010] [011] [012] [013] [014] [015] [016] [017] [018] [019] [020]
[021] [022] [023] [024] [025] [026] [027] [028] [029] [030] [031] [032] [033] [034] [035] [036] [037] [038] [039] [040]
[041] [042] [043] [044] [045] [046] [047] [048] [049] [050] [051] [052] [053] [054] [055] [056] [057] [058] [059] [060]
[061] [062] [063] [064] [065] [066] [067] [068] [069] [070] [071] [072] [073] [074] [075] [076] [077] [078] [079] [080]
[081] [082] [083] [084] [085] [086] [087] [088] [089] [090] [091] [092] [093] [094] [095] [096] [097] [098] [099] [100]
[101] [102] [103] [104] [105] [106] [107] [108] [109] [110] [111] [112] [113] [114] [115] [116] [117] [118] [119] [120]
[121] [122] [123] [124] [125] [126] [127] [128] [129] [130] [131] [132] [133] [134] [135] [136] [137] [138] [139] [140]
[141] [142] [143] [144] [145] [146] [147] [148] [149] [150] [151] [152] [153] [154] [155] [156] [157]

+7 (831) 413-63-27
ООО Дельта-Технология ©2007 - 2023 год
Нижний Новгород, ул. Дальняя, 17А.
Rambler's Top100