[Image] Воскресенье, 22.12.2024, 18:22 [Image]
SEO, технологии, игры, IT новости
[Image] Главная Регистрация Вход [Image]
[Image] Приветствую Вас, Гость · RSS [Image]
Меню сайта

Форма входа
 Блог
Главная » 2011 » Февраль » 2 » Передача идентификатора сеанса
10:20
Передача идентификатора сеанса

Теперь, когда вы представляете, как работают сеансы, давайте разберемся, что же практически нужно для корректной работы с сеансами. Как известно, каждый сеанс идентифицируется в РНР через идентификатор сеанса, который обычно сохраняется на клиентской машине в виде HTTP cookie-набора. Если поддержка cookie-наборов отсутствует, идентификатор сеанса должен передаваться через URL. Для этих целей в РНР существует константа SID, которая содержит имя и значение идентификатора текущего сеанса в следующем формате: <имя сеанса>=<идентификатор сеанса>
Поскольку иногда формат, предлагаемый SID, может быть неприемлемым (как будет показано, при передаче информации о сеансе через HTML-форму), в РНР предусмотрены две функции session_name () и session_id (), которые возвращают, соответственно, имя сеанса и его идентификатор. Независимо от используемого метода, идентификатор сеанса должен использоваться каждый раз, когда URL ссылается на внутренний ресурс. Например, при использовании гиперссылки обычно прекрасно работает константа SID:

<А HREF="checkout.php? ">Перейти к окончательному
расчету</А>
С другой стороны, при работе с HTML-формами, идентификатор сеанса передает-
ся с использованием скрытых элементов формы. В следующей ситуации для присваи-
вания соответствующих значений должны использоваться функции session_name () и
session_id():
<FORM ACTION="order.php" METHOD=GET>
<INPUT TYPE="hidden" NAME=""
VALUE="">
<!-- Остальной HTML-код формы //-->
</FORM>

При передаче идентификатора сеанса важно понимать, что это нужно делать, только если URL относится к локальному Web-серверу. Для предотвращения негативных последствий, связанных с безопасностью, идентификатор сеанса никогда не следует передавать во внешних URL.
Как вы уже, наверное, догадались, попытка проверить, что каждый возможный URL в вашем HTML-документе корректно передает идентификатор сеанса, быстро становится нудной задачей. В большинстве случаев URL может быть автоматически пересоздан за счет включения режима прозрачной передачи идентификатора сеанса, активизировав директиву конфигурации session ,use_trans_sid. Когда режим прозрачной передачи идентификатора сеанса включен, РНР пытается автоматически добавлять идентификатор сеанса к соответствующим HTML-дескрипторам.

НА ЗАМЕТКУ
Какие URL переписаны и будут посылаться в браузер, РНР определяет с помощью директивы конфигурации u r l _ r e w r i t e r .tags. В этой директиве задается разделяемый запятыми список, имеющий следующий формат: <HTML tag>=<Attribute> где <HTML tag> — это HTML-дескриптор, который должен быть обработан, a <Attr ibute> —это атрибут того HTML-дескриптора, который содержит URL для перезаписи. Значение по умолчанию для директивы u r l _ r e w r i t e r . tags выглядит так: url_rewriter.tags = "a=href,area=href,frame=src,input=src,form=fakeentry"

При использовании прозрачной передачи идентификатора сеанса РНР переписывает соответствующие URL только в целях безопасности. Несмотря на то что http://www.coggeshall.org/index.php и /index.php могут быть одним и тем же ресурсом, РНР добавит идентификатор сеанса только во втором случае. Это предотвратит уже рассмотренный риск отправки действующего идентификатора сеанса внешнему Web-сайту. Таким образом, при использовании прозрачной передачи идентифи- катора сеанса важно убедиться, что все локальные URL записаны с использованием подходящего формата URL.


Категория: Все о PHP | Просмотров: 1793 | Добавил: witkom8382 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Copyright MyCorp © 2024
Категории
Оптимизация сайта [592]
Создание сайтов [355]
Заработать в интернете [508]
Технологии [48]
Полезное [392]
Услуги и сервисы [317]
Автоблог [105]
Скрипты для Ucoz [39]
Движок на сайт [10]
Все о Joomla и Drupal [20]
Все о PHP [91]
Поиск
Пользовательский поиск
Статистика


Онлайн всего: 3
Гостей: 3
Пользователей: 0
Seo сайт, технологии продвижения, мета теги, оптимизация сайтов, новости сео, Скрипты, Ucoz

Рейтинг@Mail.ru