PHP устанавливает Session-Cookie с тем же сайтом - PullRequest
0 голосов
/ 10 октября 2019

В настоящее время у меня есть PHP-скрипт, который устанавливает тот же самый cookie-файл следующим образом:

    session_set_cookie_params($cookie_timeout, $cookieParams["path"], $cookie_domain, $session_secure, $cookie_httponly);

Я хочу добавить samesite = "Lax" к приведенному выше выражению, добавив дополнительный параметр where ($ cookie_samesite = "Lax ")

    session_set_cookie_params($cookie_timeout, $cookieParams["path"], $cookie_domain, $session_secure, $cookie_httponly, $cookie_samesite);

Новый вывод оператора будет выглядеть как

1800, /," .vasports.com.au ", 1, 1," Lax "

Это правильный формат для параметра samesite?

ПРИМЕЧАНИЕ. У меня еще не установлен PHP7.3. Следовательно, я не могу проверить это должным образом. И я ссылался на PHP doco для «session_set_cookie_params». Я также проверил

PHP setcookie "SameSite = Strict"?

1 Ответ

0 голосов
/ 16 октября 2019

После некоторых дальнейших исследований ...

  1. Сначала получите текущие параметры.
  2. Затем измените параметры, как требуется, в этом случае [sametime] = "Lax".
  3. Установите cookie.
$cookieParams = session_get_cookie_params();
$cookieParams[samesite] = "Lax";
session_set_cookie_params($cookieParams);

Проверьте свой заголовок 'set-cookie:', и теперь вы должны увидеть текст «SameSite = Lax» в конце, как этот.

set-cookie: ssid=b930bc608a911781f459a4f46b2c513d; expires=Wed, 16-Oct-2019 10:48:49 GMT; Max-Age=1800; path=/; secure; HttpOnly; SameSite=Lax

Используйте этот пример из руководства по PHP - https://www.php.net/manual/en/function.session-set-cookie-params.php

session_set_cookie_params ( array $options )

, где массив содержит следующие элементы:

[lifetime] integer
[path]     string
[domain]   string
[secure]   boolean
[httponly] boolean
[samesite] boolean (value of 'Lax' or 'Strict')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...