2016-02-17 2 views
0

Я пытаюсь использовать session_set_cookie_params() для отправки файлов cookie с помощью флагов HttpOnly и Secure: session_set_cookie_params(0, '/', $cookie_domain, true, true). Однако, когда я это делаю, домен в моих файлах cookie начинается с ведущего .. Я делаю не хочу, чтобы моя сессия cookie отправлялась в любые субдомены, поэтому это нежелательное поведение.Нежелательные ведущих. в домене сеанса cookie

Я попытался установить $cookie_domain в

  1. $_SERVER(HTTP_HOST)
  2. preg_replace('/^\./', '', $_SERVER(HTTP_HOST))
  3. строку, содержащую доменное имя

Все с тем же результатом. Между тем, documentation предполагает, что это должно произойти только при преднамеренном добавлении ведущего ..

Если я не вызов session_set_cookie_params() с параметром $domain, у меня нет этой проблемы (куки, установленный для доменного имени без ведущего .), но я никогда не смогу добраться до $secure и $httponly параметры.

Что я могу делать неправильно, и как я могу это исправить?

ответ

0

Хотя я все еще надеюсь на лучший ответ, на данный момент я нашел обходное решение. Вместо того чтобы использовать session_set_cookie_params(), я использую

ini_set('session.cookie_secure', 1); 
ini_set('session.cookie_httponly', 1); 

, чтобы установить безопасные и HttpOnly флаги без необходимости передать имя домена session_set_cookie_params().

Смежные вопросы