Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Пример 12.1

У нас имеется файл index.html - домашняя страничка Васи Петрова

<html><head><title>My home page</title></head><body>Привет всем! Меня зовут Вася Петров и это моя домашняя страничка.<a href="secret_info.html">Для Пети</a></body></html>

Листинг 12.1. Домашняя страничка Васи Петрова (html, txt)

и файл secret_info.html, который содержит секретную информацию, читать которую разрешено только Васиному другу Пете.

<html><head><title>Secret info</title></head><body>Здесь я хочу делиться секретами с другом Петей.</p></body></html>

Листинг 12.1a. secret_info.html (html, txt)

Если оставить оба эти файла как есть, то любой посетитель, кликнув на ссылку "Для Пети", попадет на секретную страничку. Чтобы этого избежать, нужно добавить промежуточный скрипт, который будет проверять, действительно ли Петя хочет попасть на секретную страничку. И сделать так, чтобы главный файл ссылался не сразу на secret_info.html, а сначала на этот скрипт.

<html><head><title>My home page</title></head><body><p>Привет всем! Меня зовут Вася Петров и это моя домашняя страничка.</p><a href="authorize.php">Для Пети</a></body></html>

Листинг 12.1b. Index.html (html, txt)

Сам скрипт авторизации должен предоставлять форму для ввода логина и пароля, проверять их правильность и перенаправлять на секретную страничку, если проверка прошла успешно, и выдавать сообщение об ошибке в противном случае.

<?if (!isset($_GET['go'])){ // проверяем, отправлены ли данные формой echo "<form> // форма для авторизации //(ввода логина и пароля) Login: <input type=text name=login> Password: <input type=password name=passwd> <input type=submit name=go value=Go> </form>";}else { // если форма заполнена, то сравниваем логин// и пароль с правильными логином и паролем if ($_GET['login']=="pit" && $_GET['passwd']=="123") { Header("Location: secret_info.html"); //и перенаправляем на секретную страницу }else echo "Неверный ввод, попробуйте еще раз<br>";}?>

Листинг 12.1c. authorize.php (html, txt)

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

<== предыдущая лекция | следующая лекция ==>
Отображение данных, хранящихся в MySQL | Механизм сессий
Поделиться с друзьями:


Дата добавления: 2014-01-06; Просмотров: 199; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.