diff --git a/includes/session.inc b/includes/session.inc index 9f671b3..8ea5659 100644 --- a/includes/session.inc +++ b/includes/session.inc @@ -135,6 +135,13 @@ function sess_regenerate() { setcookie(session_name(), '', time() - 42000, '/'); } + if (version_compare(PHP_VERSION, '5.2.0') >= 0) { + extract(session_get_cookie_params()); + // Set "httponly" to TRUE to reduce the risk of session stealing via XSS. + // This has no effect for PHP < 5.2.0. + session_set_cookie_params($lifetime, $path, $domain, $secure, TRUE); + } + session_regenerate_id(); db_query("UPDATE {sessions} SET sid = '%s' WHERE sid = '%s'", session_id(), $old_session_id);