22.04.2014 Views

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

php_mysql_dreamweaver_mx_2004 разработка web сайтов.pdf

SHOW MORE
SHOW LESS

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 />

и, если оно было задано, выполняется следующий код. Встроенная функция

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!