session_get_cookie_params
(PHP 4, PHP 5)
session_get_cookie_params — Get the session cookie parameters
Description
array session_get_cookie_params
( void
)
Return Values
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.