Дипломный проект защищен





НазваниеДипломный проект защищен
страница7/13
Дата публикации11.01.2015
Размер0.67 Mb.
ТипДиплом
100-bal.ru > Экономика > Диплом
1   2   3   4   5   6   7   8   9   10   ...   13

1.12.Сессии и cookies


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

Использование сессий и cookies очень удобно и оправдано в таких приложениях как Интернет-магазины, форумы, доски объявлений, когда, во-первых, необходимо сохранять информацию о пользователях на протяжении нескольких страниц, а, во-вторых, своевременно предоставлять пользователю новую информацию.

Протокол HTTP является протоколом "без сохранения состояния". Это означает, что данный протокол не имеет встроенного способа сохранения состояния между двумя транзакциями. Т. е., когда пользователь открывает сначала одну страницу сайта, а затем переходит на другую страницу этого же сайта, то основываясь только на средствах, предоставляемых протоколом HTTP невозможно установить, что оба запроса относятся к одному пользователю. Т. о. необходим метод, при помощи которого было бы отслеживать информацию о пользователе в течение одного сеанса связи с Web-сайтов. Одним из таких методов является управление сеансами при помощи предназначенных для этого функций. Для нас важно то, что сеанс по сути, представляет собой группу переменных, которые, в отличие от обычных переменных, сохраняются и после завершения выполнения PHP-сценария.

1.12.1.Сессии


При работе с сессиями различают следующие этапы:

  1. Открытие сессии;

  2. Регистрация переменных сессии и их использование;

  3. Закрытие сессии.

Самый простой способ открытия сессии заключается в использовании функции session_start(), которая вызывается в начале PHP-сценария.

Эта функция проверяет, существует ли идентификатор сессии, и, если нет, то создает его. Если идентификатор текущей сессии уже существует, то загружаются зарегистрированные переменные сессии.

Регистрация переменных сессии осуществляется при помощи функции session_register().

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

session_register("username");

1.12.2.Cookies


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

Cookies - это текстовые строки, хранящиеся на стороне клиента, и содержащие пары "имя-значение", с которыми связан URL, по которому браузер определяет, нужно ли посылать cookies на сервер.

Установка cookies производится с помощью функции:

bool setcookie (string name [, string value [, int expire [, string path [, string domain [, int secure]]]]])

Эта функция имеет следующие аргументы:

name - имя устанавливаемого cookie;

value - значение, хранящееся в cookie с именем $name;

expire - время в секундах с начала эпохи, по истечение которого текущий cookie становится недействительным;

path - путь, по которому доступен cookie;

domain - домен, из которого доступен cookie;

secure - директива, определяющая, доступен ли cookie не по запросу HTTPS.

По умолчанию эта директива имеет значение 0, что означает возможность доступа к cookie по обычному запросу HTTP.

По умолчанию cookies устанавливаются на один сеанс работы с броузером, однако можно задать для них более продолжительный срок существования. Это очень удобное и полезное свойство, поскольку в этом случае пользователю не нужно предоставлять свои данные вновь при каждом посещении сайта.

Как уже говорилось, срок годности устанавливается в секундах относительно начала эпохи. В PHP существуют функции time и mktime для работы с датой и временем, позволяющие переводить текущее время в количество секунд с начала эпохи. Функция time просто переводит текущее системное время в количество секунд, прошедших с начала эпохи. Усовершенствованным вариантом функции time является функция mktime:

int mktime ([int hour [, int minute [, int second [, int month [, int day [, int year [, int is_dst]]]]]]])

Аргумент is_dst этой функции определяет, попадает ли эта дата в период летнего времени и может принимать значения (-1,0,1). -1 – (По умолчанию) Означает, что свойство не задано. 0 – Временной интервал не приходится на период летнего времени. 1 – Временной интервал приходится на период летнего времени.

Примеры установки сроки годности cookies:


/* этот cookie действителен в течение 10 мин после создания */

setcookie("name", $value, time() + 600);

/* действие этого cookie прекращается в полночь 25 января 2010 года */

setcookie("name", $value, mktime(0,0,0,03,05,2011));

?>

Для того чтобы удалить cookie необходимо вызвать функцию setcookie и передать ей имя того cookie, который подлежит удалению.

setcookie("name");

Иногда в cookies приходится хранить конфиденциальные данные, и в этом случае разработчик должен позаботиться о том, чтобы информация, хранящееся в cookie, не была передана третьим лицам. Существует несколько методов защиты информации, хранящейся в cookie:

  1. Установка области видимости cookies;

  2. Шифрование;

  3. Ограничение доступа для доменов;

  4. Отправка cookies по защищенному запросу.

Наилучшим решением является комплексное применение всех этих способов.

Для дополнительной безопасности, список доменов, имеющих доступ к cookies, должен быть ограничен. Это можно сделать при помощи следующего кода:

setcookie("name", $value, "/web/index.php", ".server.com");

При таком ограничении заданной области видимости будут соответствовать домены с именами server.com, myserver.com, php.server.com и т. д., поскольку проверка на допустимость области видимости домена осуществляется по принципу концевого соответствия.

Не является излишним для cookie, хранящему секретные данные, разрешить отвечать только на защищенные запросы HTTP, так как в этом случае значительно затрудняется перехват данных, которыми обмениваются клиент и сервер. Для обеспечения защищенного соединения, функции setcookie передается шестой параметр со значением, равным 1.

setcookie("name", $value, time() + 600, "/web/", ".server.com", 1);
1   2   3   4   5   6   7   8   9   10   ...   13

Похожие:

Дипломный проект защищен iconРеферат Баранов К. Г., Игнатенков А. И. Дипломный проект на тему...
Общий объем проекта составляет 78 страниц. Дипломный проект содержит 1 рисунок, 16 таблиц. Список литературы представлен 30 источниками...
Дипломный проект защищен iconДипломный проект на тему: «Проект реконструкции участка текущего...
Общий объем проекта составляет 70 страниц. Дипломный проект содержит 4 рисунка, 15 таблиц. Список литературы представлен 29 источниками...
Дипломный проект защищен iconДипломный проект на тему: «Проект реконструкции участка текущего...
Общий объем проекта составляет 70 страниц. Дипломный проект содержит 4 рисунка, 15 таблиц. Список литературы представлен 29 источниками...
Дипломный проект защищен iconТребования к выполнению выпускной квалификационной работы (дипломный проект) введение
Дипломный проект (ДП) является квалификационной работой, итоговой аттестацией, завершающей подготовку студента по специальности 220601...
Дипломный проект защищен iconРеферат Дипломный проект на тему «Автоматизированная система управления...
Дипломный проект на тему «Автоматизированная система управления санаторным комплексом «Валуево». Подсистема «Диетпитание» состоит...
Дипломный проект защищен iconДипломный проект на тему: «Проект мероприятий по повышению конкурентоспособности...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Дипломный проект защищен iconДипломный проект на тему: Проект детского кафе на 50 мест в Торгово- офисном центре г. Пушкино
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Дипломный проект защищен iconДипломный проект на тему: Проект мероприятий по разработке антикризисной...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Дипломный проект защищен iconДипломный проект на тему: «Проект сервисного центра по обслуживанию...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Дипломный проект защищен iconДипломный проект на тему: «Проект мероприятий по совершенствованию...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Дипломный проект защищен iconПроект мероприятий по совершенствованию системы снабжения зао «нпп...
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования
Дипломный проект защищен iconДипломный проект на тему: Проект мероприятий по улучшению финансового состояния
Целью работы является разработка мероприятий по улучшению финансового состояния строительного предприятия фгуп «усс» фсб россии
Дипломный проект защищен iconДипломный проект на тему: Проект мероприятий по совершенствованию...
Целью дипломной работы является разработка мероприятий по совершенствованию товародвижения в сети магазинов ип шумитовой В
Дипломный проект защищен iconМетодические указания по выполнению и оформлению научно-исследовательской...
К студенческим работам, выполняемым в процессе обучения относятся реферат, доклад, отчет о научной работе, курсовая работа или курсовой...
Дипломный проект защищен iconДипломный проект
...
Дипломный проект защищен iconДипломный проект на тему: Проведение реструктуризации туристической компании
Федеральное государственное бюджетное образовательное учреждение высшего профессионального образования


Школьные материалы


При копировании материала укажите ссылку © 2013
контакты
100-bal.ru
Поиск