2012-05-07 4 views
0

Я пытаюсь установить два куки для одного и того же сайта. (За исключением одного является HTTP и один сайт HTTPS.)Настройка файла cookie для двух доменов

$cookie_domain_http = parse_url(HTTP_SERVER); 
$cookie_domain_https = parse_url(HTTPS_SERVER); 

Предполагая, что HTTP_SERVER содержит http://www.somesite.com и HTTPS_SERVER содержит https://ssl1.otherdomain.com, я использую следующее.

setcookie("referrer_key", 
    $_GET['referrer'], 
    time() + 60*60*24*365, 
    $cookie_domain_http['path'], 
    $cookie_domain_http['host']); // Set the cookie for the non-HTTPS version. 

if(ENABLE_SSL == "true") { 
    setcookie("referrer_key", 
    $_GET['referrer'], 
    time() + 60*60*24*365, 
    $cookie_domain_https['path'], 
    $cookie_domain_https['host']); // Set the cookie for HTTPs version. 
} 

Теперь первые корректно устанавливает cookie сессии. Однако вторая строка не вызывает ее отображения.

Как я могу использовать этот код, а именно PHP для этого.

ответ

1

Вы можете настроить cookie только в одном домене, в котором работает ваш код. Самое близкое, что вы можете получить, это установить на somesite.com, и в этом случае он будет отправлен во все поддомены somesite.com.

Вы не можете установить файлы cookie на somesite.com и othersite.com в том же фрагменте код.

В противном случае вам нечего мешать добавлять файлы cookie для произвольных доменов.

1

http://php.net/manual/en/function.setcookie.php

Там еще один параметр в конце концов, что вы можете использовать, чтобы указать, является ли или нет куки является безопасным.

if (ENABLE_SSL == "true") 
    setcookie("referrer_key", 
    $_GET['referrer'], 
    time() + 60*60*24*365, 
    $cookie_domain_https['path'], 
    '.somesite.com', // Parse out the base domain, and put it here with the leading "." 
    true); //this is the parameter to set specify a secure cookie 
+0

Это не добавление к моему списку файлов cookie, хотя, когда я это делаю. –

+1

Возможно, лучший ответ - использовать подход .somesite.com. Проверьте новый ответ через минуту – Bryan

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