/** * Получение уникального ключа для значения пользовательской сессии * * @static * @param null $hash_key * @return string * * @todo добавить возможность работы через прокси, когда у пользователя меняется конечный IP, но единый IP прокси */ public static function session_cookie_value($hash_key = null) { $user_ip = joosRequest::user_ip(); $user_browser = joosRequest::server('HTTP_USER_AGENT', 'none'); $type = joosConfig::get2('session', 'type', 2); switch ($type) { case 1: $value = md5($hash_key . $user_ip); break; default: $value = joosCSRF::hash($hash_key . $user_ip . $user_browser); break; } return $value; }
/** * Идентификация браузера * */ private function get_related_string() { return sprintf('%s-%s-%s-%s', JPATH_COOKIE, joosRequest::server('HTTP_ACCEPT_ENCODING'), joosRequest::server('HTTP_USER_AGENT'), joosRequest::server('HTTP_ACCEPT_LANGUAGE')); }