| phpMyFAQ\User\CurrentUser::login | 32.18 | 80.8% |
| phpMyFAQ\User\UserAuthentication::authenticate | 22.50 | 50.0% |
| phpMyFAQ\User\UserData::get | 21.97 | 71.4% |
| phpMyFAQ\User\UserSession::userTracking | 20.08 | 94.1% |
| phpMyFAQ\User\UserAuthentication::authenticateLdap | 19.85 | 27.3% |
| phpMyFAQ\User\UserData::save | 10.26 | 59.5% |
| phpMyFAQ\User\CurrentUserSessionLookupTrait::getFromSession | 9.95 | 77.3% |
| phpMyFAQ\User\UserData::load | 8.05 | 72.2% |
| phpMyFAQ\User\CurrentUser::updateSessionId | 7.14 | 85.7% |
| phpMyFAQ\User\PasswordResetTokenService::verify | 7 | 100.0% |
| phpMyFAQ\User\Tracking::log | 6 | 100.0% |
| phpMyFAQ\User\CurrentUser::sortAuthContainer | 5.20 | 37.5% |
| phpMyFAQ\User\UserData::fetchAll | 5.06 | 86.7% |
| phpMyFAQ\User\TrackingDataRedactor::redactQueryString | 5 | 100.0% |
| phpMyFAQ\User\TwoFactor::validateToken | 5 | 100.0% |
| phpMyFAQ\User\UserData::set | 5 | 100.0% |
| phpMyFAQ\User\CurrentUser::deleteFromSession | 4.11 | 81.2% |
| phpMyFAQ\User\Tracking::handleSession | 4.11 | 81.0% |
| phpMyFAQ\User\CurrentUser::getSessionInfo | 4.05 | 85.7% |
| phpMyFAQ\User\UserData::delete | 4 | 100.0% |
| phpMyFAQ\User\CurrentUserSessionLookupTrait::getCurrentUserGroupId | 4 | 100.0% |
| phpMyFAQ\User\UserAuthentication::authenticateSso | 3.19 | 33.3% |
| phpMyFAQ\User\UserSession::createNetwork | 3.07 | 80.0% |
| phpMyFAQ\User\PasswordResetTokenService::issue | 3.01 | 88.9% |
| phpMyFAQ\User\CurrentUserSessionLookupTrait::getFromCookie | 3.01 | 90.9% |
| phpMyFAQ\User\Tracking::countBots | 3 | 100.0% |
| phpMyFAQ\User\Tracking::getRemoteAddress | 3 | 100.0% |
| phpMyFAQ\User\Tracking::writeTrackingData | 3 | 97.2% |
| phpMyFAQ\User\Tracking::createNetwork | 3 | 100.0% |
| phpMyFAQ\User\TrackingDataRedactor::redactUrl | 3 | 100.0% |
| phpMyFAQ\User\UserAuthentication::hasExhaustedFailedLoginBudget | 3 | 100.0% |
| phpMyFAQ\User\UserData::fetch | 3 | 100.0% |
| phpMyFAQ\User\UserData::add | 3 | 100.0% |
| phpMyFAQ\User\UserData::emailExists | 3 | 100.0% |
| phpMyFAQ\User\UserSession::checkSessionId | 3 | 100.0% |
| phpMyFAQ\User\UserSession::setCookie | 3 | 100.0% |
| phpMyFAQ\User\CurrentUserSessionLookupTrait::getCurrentUser | 3 | 100.0% |
| phpMyFAQ\User\CurrentUser::sessionAge | 2 | 100.0% |
| phpMyFAQ\User\Tracking::getInstance | 2 | 100.0% |
| phpMyFAQ\User\Tracking::initializeSessionId | 2 | 100.0% |
| phpMyFAQ\User\TwoFactor::saveSecret | 2 | 100.0% |
| phpMyFAQ\User\TwoFactor::getSecret | 2 | 100.0% |
| phpMyFAQ\User\UserAuthentication::recordFailedLogin | 2 | 100.0% |
| phpMyFAQ\User\UserAuthentication::failedLoginKey | 2 | 100.0% |
| phpMyFAQ\User\CurrentUser::accountStateConfiguration | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::__construct | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::isLoggedIn | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::twoFactorFailure | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::isTwoFactorLockedOut | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::twoFactorSuccess | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::setLoggedIn | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::sessionIsTimedOut | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::sessionIdIsTimedOut | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::saveToSession | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::setSessionTimeout | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::enableRememberMe | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::setAuthSource | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::issueRememberMeCookie | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::setRememberMe | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::setSuccess | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::setTokenData | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::setLoginAttempt | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::isFailedLastLoginAttempt | 1 | 100.0% |
| phpMyFAQ\User\CurrentUser::hasExceededLoginAttempts | 1 | 100.0% |
| phpMyFAQ\User\PasswordResetTokenService::sign | 1 | 100.0% |
| phpMyFAQ\User\Tracking::__construct | 1 | 100.0% |
| phpMyFAQ\User\Tracking::getCookieId | 1 | 100.0% |
| phpMyFAQ\User\Tracking::isBanned | 1 | 100.0% |
| phpMyFAQ\User\Tracking::getBotIgnoreList | 1 | 100.0% |
| phpMyFAQ\User\Tracking::getRequestHeaders | 1 | 100.0% |
| phpMyFAQ\User\Tracking::getTrackingDirectory | 1 | 100.0% |
| phpMyFAQ\User\TrackingDataRedactor::isSensitive | 1 | 100.0% |
| phpMyFAQ\User\TwoFactor::__construct | 1 | 100.0% |
| phpMyFAQ\User\TwoFactor::generateSecret | 1 | 100.0% |
| phpMyFAQ\User\TwoFactor::getQrCode | 1 | 100.0% |
| phpMyFAQ\User\UserAuthentication::__construct | 1 | 100.0% |
| phpMyFAQ\User\UserAuthentication::isRememberMe | 1 | 100.0% |
| phpMyFAQ\User\UserAuthentication::setRememberMe | 1 | 100.0% |
| phpMyFAQ\User\UserAuthentication::hasTwoFactorAuthentication | 1 | 100.0% |
| phpMyFAQ\User\UserAuthentication::setTwoFactorAuth | 1 | 100.0% |
| phpMyFAQ\User\UserData::__construct | 1 | 100.0% |
| phpMyFAQ\User\UserSession::__construct | 1 | 100.0% |
| phpMyFAQ\User\UserSession::getCurrentSessionId | 1 | 100.0% |
| phpMyFAQ\User\UserSession::setCurrentSessionId | 1 | 100.0% |
| phpMyFAQ\User\UserSession::setCurrentUser | 1 | 100.0% |
| phpMyFAQ\User\UserSession::getBotIgnoreList | 1 | 100.0% |
| phpMyFAQ\User\UserSession::getRequest | 1 | 100.0% |
| phpMyFAQ\User\UserSession::getTrackingDirectory | 1 | 100.0% |
| phpMyFAQ\User\CurrentUserAccountStateTrait::isLocalUser | 1 | 100.0% |
| phpMyFAQ\User\CurrentUserAccountStateTrait::isBlocked | 1 | 100.0% |
| phpMyFAQ\User\CurrentUserAccountStateTrait::getUserId | 0 | 100.0% |
| phpMyFAQ\User\CurrentUserAccountStateTrait::accountStateConfiguration | 0 | 100.0% |