PHP - авторизация доступа


Авторизация с помощью cookies - часть 4


Стоит сказать, что использовать имя cookie как переменную можно только в том случае, если в файле настройки PHP - php.ini - есть параметр register_globals. Там, где этого параметра нет (например, в PHP версии 4.2 и выше он по умолчанию неактивен), работать с cookies как с обычными переменными не получится. Информацию, помещенную в них, придется получать из массива с названием $HTTP_COOKIE_VARS (создается автоматически при обнаружении cookies от данного сайта), используя имя нужного cookie в качестве индекса:

<?php foreach (file("passw/passwr") as $k) { if (substr($k, 0, -2)==$HTTP_COOKIE_VARS['auth']) { $rez=1; } } ...

В PHP версии 4.1 и выше вместо $HTTP_COOKIE_VARS можно использовать массив $_COOKIE.

Надеюсь, вы поняли, что все эти проверки логинов и паролей в cookies и передающихся между окнами переменных, о которых так подробно рассказывается в этом и предыдущем разделах, предназначены для одной цели - чтобы тот, кто каким бы то ни было образом узнал бы адрес страницы из "защищенной зоны" и зашел бы на эту страницу путем набора ее адреса в адресной строке браузера (или с помощью ярлыка в "Избранном"), не мог бы увидеть на ней то же самое, что и добросовестно прошедшие авторизацию посетители. Чтобы не приходилось запрашивать от посетителей пароль и логин на каждой странице, где есть возможность совершить те действия, которые крайне нежелательно позволять делать всем подряд - как, например, загрузка файлов или просмотр личной почты - а дать посетителям возможность, единожды введя авторизационные данные, свободно перемещаться по "защищенной зоне". Именно это и является основной задачей описанных технологий.

[1] - Вернее, смогут лишь в том случае, если данный код располагается в файле не с тем расширением, которое указано в настройках web-сервера как признак страниц с программами на PHP.

[2] - Вернее, узел с собственным именем (любого уровня).




Начало  Назад  Вперед



Книжный магазин