Как cookie можно использовать для решения обсуждаемой в этой главе задачи - авторизации доступа? Да очень просто - запросив от посетителя логин и пароль, записать их в cookie, а потом на каждой странице "защищенной зоны" считывать их оттуда и проверять, имеются ли такие данные в файле паролей. Ну и поступать в соответствии с результатом такого сравнения - например, отправлять те браузеры, которые не смогли представить cookie с правильными логином и паролем, прямиком на страницу авторизации, посылая им с помощью PHP-функции Header заголовок Location с соответствующим параметром, как было показано выше для предыдущего варианта авторизации.
Вот фрагменты сценария, в которых видна технология использования cookies. На той странице, от-куда должен осуществляться вход в "защищенную зону", следует поставить простую форму для ввода логина и пароля (см.рис.8.6). Например, такую:
<FORM ACTION="up.php" METHOD=POST> Логин: <INPUT NAME="login" TYPE="text"><br> Пароль: <INPUT NAME="pass" TYPE="password"><br> <INPUT TYPE="submit" VALUE="Войти"></FORM>
На той странице, имя которой указано в параметре ACTION заголовка формы, введенные данные проверяются, и в том случае, если такие логин и пароль имеются в файле паролей, браузеру посетителя отсылается cookie, куда эти логин с паролем записываются.
<?php foreach (file("passw/passwr") as $k) { if (substr($k, 0, -2)=="$login $pass") { $rez=1;
И вот - сама установка cookie под именем auth. Ему устанавливается "время жизни" - 3600 секунд, то есть час.
SetCookie("auth","$login $pass",time()+3600);
} } ?>
Дальше должен находиться сценарий, который в зависимости от исхода авторизации - т.е. значения переменной $rez - выводит различную информацию. Например, можно отослать посетителя назад на исходную страницу командой Header ("Location..."), как в примере предыдущего раздела этой главы.