function SSO_EndpointOutput($result) { global $sso_encrypted, $sso_apikey_info, $sso_data, $sso_skipsleep; if (!$sso_skipsleep) { SSO_RandomSleep(); } $result = @json_encode($result); if ($sso_encrypted) { if ($sso_apikey_info["keyinfo"]["mode"] === "aes256") { $result = ExtendedAES::CreateDataPacket($result, $sso_apikey_info["keyinfo"]["key"], $sso_apikey_info["keyinfo"]["opts"]); } else { $result = Blowfish::CreateDataPacket($result, $sso_apikey_info["keyinfo"]["key"], $sso_apikey_info["keyinfo"]["opts"]); } $result = base64_encode($result); } echo $result; exit; }
define("SSO_MODE", "frontend"); require_once "config.php"; require_once SSO_ROOT_PATH . "/" . SSO_SUPPORT_PATH . "/str_basics.php"; require_once SSO_ROOT_PATH . "/" . SSO_SUPPORT_PATH . "/page_basics.php"; require_once SSO_ROOT_PATH . "/" . SSO_SUPPORT_PATH . "/sso_functions.php"; require_once SSO_ROOT_PATH . "/" . SSO_SUPPORT_PATH . "/blowfish.php"; require_once SSO_ROOT_PATH . "/" . SSO_SUPPORT_PATH . "/aes.php"; if (!ExtendedAES::IsMcryptAvailable()) { require_once SSO_ROOT_PATH . "/" . SSO_SUPPORT_PATH . "/phpseclib/AES.php"; } require_once SSO_ROOT_PATH . "/" . SSO_SUPPORT_PATH . "/random.php"; Str::ProcessAllInput(); // Initialize the global CSPRNG instance. $sso_rng = new CSPRNG(); // Timing attack defense. SSO_RandomSleep(); // Calculate the remote IP address. $sso_ipaddr = SSO_GetRemoteIP(); // Initialize language settings. BB_InitLangmap(SSO_ROOT_PATH . "/" . SSO_LANG_PATH . "/", SSO_DEFAULT_LANG); if (isset($_REQUEST["lang"]) && $_REQUEST["lang"] == "") { unset($_REQUEST["lang"]); } if (isset($_REQUEST["lang"])) { BB_SetLanguage(SSO_ROOT_PATH . "/" . SSO_LANG_PATH . "/", $_REQUEST["lang"]); } function SSO_DisplayError($msg, $htmlmsg = "") { global $sso_header, $sso_footer; if (isset($_REQUEST["sso_ajax"])) { echo htmlspecialchars(BB_Translate($msg)) . $htmlmsg;