Как я могу отправить PHPSESSID в URL?

Как насчет того, чтобы использовать "реальный" Google финансируют инструмент из проекта визуализации Google?

http://code.google.com/apis/visualization/documentation/gallery/annotatedtimeline.html

7
задан Jim 23 January 2014 в 14:37
поделиться

3 ответа

Использование или отсутствие cookie настраивается следующими параметрами PHP:

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


Чтобы разрешить передачу идентификатора сеанса GET вместо файлов cookie, вам может потребоваться активировать сеанс .use_trans_sid , который по умолчанию отключен (что означает, что по умолчанию идентификатор сеанса передается только с помощью файлов cookie, а не с помощью GET) .

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


И, возможно, вы также захотите взглянуть на session.name , чтобы установить имя ключа (я имею в виду, что он установлен на «token» вместо «PHPSESSID»)


Для получения дополнительной информации вы можете взглянуть на Раздел «Обработка сеанса» руководства: -)

9
ответ дан 6 December 2019 в 21:17
поделиться

Вручную:

if ($_REQUEST['token'])
  session_id($_REQUEST['token']);
session_start();

print("foo=".$_SESSION['foo']++."<br />".
      "<a href={$PHP_SELF}?token=".session_id().">link</a><br />");
print("<form method=POST>".
      "<input type=hidden name=token value=".session_id()." />".
      "<input type=submit /></form>");
2
ответ дан 6 December 2019 в 21:17
поделиться

Вы можете изменить PHPSESSID, используя session_name () или session.name в вашем файле php.ini ( или используя ini_set () ).

Для клиентов без файлов cookie есть параметр session.use_trans_sid php.ini - вы должны знать, что это может вызвать проблемы - например, пользователи, проходящие URL-адреса с идентификаторами сеанса связи друг с другом или поисковые системы, выбирающие такие URL-адреса.

1
ответ дан 6 December 2019 в 21:17
поделиться
Другие вопросы по тегам:

Похожие вопросы: