php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
php_mysql_dreamweaver_mx_2004 ÑазÑабоÑка web ÑайÑов.pdf
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
294 Часть III. Решаем вопросы безопасности и целостности данных<br />
диалоговом окне открытия файла Dreamweaver страницу входа Login.<strong>php</strong> и<br />
нажмем кнопку ОК этого окна. Пусть, прежде чем войти на данную страницу,<br />
пользователь выполнит вход на сайт.<br />
Все, кажется, мы ничего не забыли... Нажимаем кнопку ОК. Пара секунд<br />
"задумчивости" — и Dreamweaver создаст нужное серверное поведение.<br />
Осталось закрыть доступ к остальным пяти административным страницам:<br />
Category_add.<strong>php</strong>, Category_edit.<strong>php</strong>, Category_delete.<strong>php</strong>, Items_admin.<strong>php</strong>,<br />
Item_add.<strong>php</strong>, Item_edit.<strong>php</strong> и Item_delete.<strong>php</strong>. Сделаем это точно так же, как<br />
и для страницы Categories_admin.<strong>php</strong>. После этого сохраним исправленные<br />
страницы и закроем их.<br />
Кстати, в дальнейшем нам не придется вводить права доступа в диалоговое<br />
окно Define Access Levels. Dreamweaver запомнит их и подставит в список<br />
Select level(s) диалогового окна Restrict Access To Page сам. Нам останется<br />
только их выбрать в этом списке.<br />
Разбор кода РНР, выполняющего<br />
разграничение доступа<br />
Что ж, откроем страницу Categories_admin.<strong>php</strong> и посмотрим на созданный<br />
Dreamweaver код РНР. Это будет весьма поучительно.<br />
Начнем с того, что для проверки прав пользователя Dreamweaver создаст<br />
функцию по имени isAuthorized. Выражение, объявляющее эту функцию,<br />
мы рассмотрим в первую очередь и, опять же, по частям.<br />
function isAuthorized($strUsers, $strGroups, $UserName, $UserGroup) {<br />
Итак, функция isAuthorized принимает четыре аргумента:<br />
О $strUsers — список "разрешенных" имен пользователей, разделенных<br />
запятыми;<br />
• $strGroups — список "разрешенных" прав доступа, разделенных запятыми;<br />
• $userMame — имя пользователя, которое нужно проверить;<br />
О $userGroup — права пользователя, которые нужно проверить.<br />
$isValid = False;<br />
Переменная $isvalid содержит true, если пользователь (его имя или права)<br />
входит в список разрешенных, и false — в противном случае. Изначально<br />
мы полагаем, что пользователь не входит в число тех, кому доступна эта<br />
страница, — принцип презумпции невиновности здесь не уместен.<br />
if (!empty($UserName)) {<br />
Здесь проверяется, было ли задано имя пользователя (аргумент $userName),<br />
и, если оно было задано, выполняется следующий код. Встроенная функция