PHP.mk документација

Проследување на ID на сесијата

Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.

session.idpassing.php PHP.net прокси Преводот е вчитан
Оригинал на PHP.net
Патека session.idpassing.php Локална патека за оваа страница.
Извор php.net/manual/en Оригиналниот HTML се реупотребува и локално се стилизира.
Режим Прокси + преведен приказ Кодовите, табелите и белешките остануваат читливи во истиот тек.
Проследување на ID на сесијата

Референца за `session.idpassing.php` со подобрена типографија и навигација.

session.idpassing.php

Проследување на ID на сесијата

Постојат два методи за пропагирање на ID на сесија:

  • Колачиња
  • URL параметар

Модулот за сесии поддржува двата методи. Колачињата се оптимални, но бидејќи не се секогаш достапни, обезбедуваме и алтернативен начин. Вториот метод го вградува ID-то на сесијата директно во URL-ите.

PHP е способен транспарентно да ги трансформира линковите. Ако опцијата за време на извршување session.use_trans_sid е овозможена, релативните URI-и ќе бидат променети за автоматски да го содржат ID-то на сесијата.

Забелешка:

На arg_separator.output php.ini директивата овозможува прилагодување на разделувачот на аргументи. За целосна XHTML усогласеност, наведете & таму.

Алтернативно, можете да го користите константата SID која е дефинирана ако сесијата е започната. Ако клиентот не испратил соодветно колаче за сесија, таа има форма session_name=session_id. Инаку, се проширува во празен стринг. Така, можете безусловно да ја вградите во URL-ите.

Следниот пример покажува како да регистрирате променлива и како правилно да се поврзете на друга страница користејќи SID.

Пример #1 Броење на бројот на посети на еден корисник

<?php

session_start
();

if (empty(
$_SESSION['count'])) {
$_SESSION['count'] = 1;
} else {
$_SESSION['count']++;
}
?>

<p>
Hello visitor, you have seen this page <?php echo $_SESSION['count']; ?> times.
</p>

<p>
To continue, <a href="nextpage.php?<?php echo htmlspecialchars(SID); ?>">click
here</a>.
</p>

На htmlspecialchars() може да се користи при печатење на SID за да се спречат напади поврзани со XSS.

Печатење на SID, како што е прикажано погоре, не е потребно ако --enable-trans-sid се користеше за компилација на PHP.

Забелешка:

Не-релативните URL-и се претпоставува дека упатуваат на надворешни локации и затоа не го додаваат SID, бидејќи би било безбедносен ризик да се протече SID на друг сервер.

Белешки од корисници 1 белешка

Анонимен
пред 16 години
The first time a page is accessed, PHP doesn't yet know if the browser is accepting cookies or not, so after session_start() is called, SID will be non-empty, and the PHPSESSID gets inserted in all link URLs on that page that are properly using SID.

This has the consequence that if, for example, a search engine bot hits your home page first, all links that it sees on your home page will have the ugly PHPSESSID=... in them.

This appears to be the default behavior. A work-around is to turn on session.use_only_cookies, but then you lose session data for anyone who has their cookies turned off.
На оваа страница

Автоматски outline од активната документација.

Насловите ќе се појават тука по вчитување.

Попрегледно читање

Примерите, changelog табелите и user notes се визуелно издвоени за да не се губат во долгата содржина.

Брз совет Користи го outline-от Скокни директно на главните секции од активната страница.
Извор Оригиналниот линк останува достапен Кога ти треба целосен upstream context, отвори го PHP.net во нов tab.