session_get_cookie_params
(PHP 4, PHP 5)
session_get_cookie_params — Get the session cookie parameters
Описание
array session_get_cookie_params
( void
)
Возвращаемые значения
Returns an array with the current session cookie information, the array
contains the following items:
-
"lifetime" - The lifetime of the cookie in seconds.
-
"path" - The path where information is stored.
-
"domain" - The domain of the cookie.
-
"secure" - The cookie should only be sent over secure connections.
-
"httponly" - The cookie can only be accessed through the HTTP protocol.
Коментарии
This function is quite handy when it comes to expiring session cookies... since Session cookies don't automatically get destroyed (see the session_destroy page).
For instance, here's what I plan to use to expire session cookies:
$CookieInfo = session_get_cookie_params();
if ( (empty($CookieInfo['domain'])) && (empty($CookieInfo['secure'])) ) {
setcookie(session_name(), '', time()-3600, $CookieInfo['path']);
} elseif (empty($CookieInfo['secure'])) {
setcookie(session_name(), '', time()-3600, $CookieInfo['path'], $CookieInfo['domain']);
} else {
setcookie(session_name(), '', time()-3600, $CookieInfo['path'], $CookieInfo['domain'], $CookieInfo['secure']);
}
session_destroy();
It doesn't check to see if the path part of the session cookie is set because the defaults in php.ini have this set already, unlike domain and secure.
It should be noted that this gets the session cookie ini file parameters, not the parameters from the cookie itself.
ie. if you set the cookie lifetime using session_set_cookie_params(12345) and then try to use session_get_cookie_params, you will not get back 12345. Instead, you will get the lifetime set in the ini file.