PHP

Anvess.com - Самоучитель по PHP для начинающих и не только

 

Меню

Главная
Введение
Немного о Web-программировании
PHP: История. Места. Источники.
PHP: Основы
PHP: Выборочная загрузка
PHP: Простейший интернет-магазин
PHP: Папкопотрошилка
PHP: Закачка файлов
PHP: Авторизация доступа
PHP: Гостевая книга
PHP: Система оценки материалов
PHP: Файловый менеджер
PHP: Полезные мелочи
PHP: Способы передачи данных между отдельными страницами
Заключение
Преврати свой сайт в портал
 Используй то, что под рукою - и не ищи всегда другое
На сайте - как в "Винде"
АнвессPHP каталог

Добавить в закладки

Друзья

Informatuka.info - Курс лекцій з Інформатики
Друзья
Любите роскошные женские сумки ? Посетите новый блог про сумки!
о странничестве в добротолюбии от преподобных святых
 
 

Статистика

- -
 

 

 

 

 

 

 
 

АВТОРИЗАЦИЯ С ПОМОЩЬЮ СЕССИЙ

Вы, наверное, уже заметили особенность обоих вышеописанных способов авторизации - проверка правильности логина и пароля осуществляется на каждой странице, где требуется авторизованный доступ. Если посетителей на сайте не очень много, то это вполне допустимо, однако при большом числе авторизованных посетителей нагрузка на web-сервер может оказаться немалой.
В связи с этим возникает вопрос: а нельзя ли как-нибудь избежать необходимости каждый раз осуществлять проверку логина и пароля посетителя? Чтобы, единожды авторизовав посетителя, впоследствии предоставлять ему доступ на страницы защищенной зоны без каких-либо проверок? Именно так, кстати, действует защита на основе средств web-сервера - файлов .htaccess, описанная в первом разделе главы. Но можно ли сделать то же самое средствами РНР? Да и вообще использовать cookie для хранения паролей не очень желательно: его содержимое может узнать любой, кто воспользуется компьютером, на котором этот cookie сохранен (многие браузеры хранят cookie в предназначенной для них папке, даже если "время жизни" cookie истекло и он больше не принимается сервером).
Напрашивается первое предложение: а почему бы, например, после успешной авторизации не отправить посетителю cookie с какой-либо пометкой (например, устанавливать в 1 значение переменной в этом cookie), а впоследствии проверять не наличие записанных в cookie логина и пароля в файле паролей или базе данных, а присутствие в cookie этой самой пометки, одинаковой для всех, прошедших авторизацию? Или даже сделать разные типы пометок и в зависимости от типа предоставлять посетителю разные возможности на сайте?
Сделать-то так можно, да вот устойчивость такой системы авторизации к взлому будет не особо великой. Злоумышленнику будет достаточно узнать, что за пометку помещает сценарий авторизации в cookie, чтобы получить к защищенной зоне полный доступ - просто вручную создав такой cookie. (А если при проверке "пометки" использовался не элемент массива $HTTP_COOKIE_VARS, а одноименная переменная, то и просто подставив ее значение в адресной строке при заходе на страницу с такой проверкой: например, page . php?auth=1.) Кроме того, просмотреть значение cookie на компьютере посетителя и узнать, какие его имя и значение являются "пометкой", тоже не так трудно.
Но самое главное - посетители нередко отключают использование cookie при своих путешествиях по Интернету. При отключенных cookie описанная выше система авторизации на их основе работать не будет.
Как же быть?
Следует использовать весьма интересный механизм сессий, появившийся в 4-й версии РНР.

 
На правах рекламы: Секс товары анальный стимулятор мужской * sex товары качество| цементные заводы ОАО, продаем завод кирпичный мини - цементные заводы ОАО.| карта г санкт петербурга карта г санкт петербурга| Вызов агента, весь каталог компаний по страхованию здесь.| стиральные машины zanussi| элегазовый выключатель| Вентилируемые вентфасад вентилируемые


Кнопка AnzUa

Получить код кнопки:


Рекламка

> <+
<


Посилання

-


 

 

 


Copyright © Anvess Company, 2008