Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

function mo_saml_redirect_for_authentication($la) { if (mo_saml_is_exten..

Decoded Output download

<?      function mo_saml_redirect_for_authentication($la) 
    { 
        if (mo_saml_is_extension_installed("dom")) { 
            goto Fa; 
        } 
        throw new Mo_SAML_DOM_Extension_Disabled_Exception("DOMDocument Not Installed."); 
        Fa: 
        if (mo_saml_is_extension_installed("curl")) { 
            goto dK; 
        } 
        throw new Mo_SAML_CURL_Extension_Disabled_Exception("Curl Extension Not Installed."); 
        dK: 
        if (!(get_option(Mo_Saml_Options_Enum_Sso_Login::REDIRECT_IDP) == "true")) { 
            goto Ep; 
        } 
        $cb = home_url() . "/?option=saml_user_login&redirect_to="; 
        if (is_feed()) { 
            goto yk; 
        } 
        echo "<script>window.location.href='{$cb}'+encodeURIComponent(window.location.href);</script>"; 
        exit; 
        yk: 
        Ep: 
        if (get_option(Mo_Saml_Options_Enum_Sso_Login::REDIRECT_IDP) == "true" || get_option(Mo_Saml_Options_Enum_Sso_Login::AUTO_REDIRECT) == "true") { 
            goto wn; 
        } 
        if (!(get_option(Mo_Saml_Options_Enum_Sso_Login::REDIRECT_TO_WP_LOGIN) == "true")) { 
            goto pD; 
        } 
        if (!(mo_saml_is_sp_configured() && !is_user_logged_in())) { 
            goto eF; 
        } 
        $Cs = site_url() . "/wp-login.php"; 
        if (empty($la)) { 
            goto ep; 
        } 
        $Cs = $Cs . "?redirect_to=" . urlencode($la) . "&reauth=1"; 
        ep: 
        header("Location: " . $Cs); 
        exit; 
        eF: 
        pD: 
        goto s0; 
        wn: 
        if (!(mo_saml_is_customer_registered_saml() && mo_saml_is_sp_configured() && !is_user_logged_in())) { 
            goto Ka; 
        } 
        $i8 = get_option(Mo_Saml_Options_Enum_Identity_Provider::SP_BASE_URL); 
        if (!empty($i8)) { 
            goto wB; 
        } 
        $i8 = home_url(); 
        wB: 
        if (!(get_option(Mo_Saml_Options_Enum_Sso_Login::RELAY_STATE) && get_option(Mo_Saml_Options_Enum_Sso_Login::RELAY_STATE) != '')) { 
            goto jt; 
        } 
        $la = get_option(Mo_Saml_Options_Enum_Sso_Login::RELAY_STATE); 
        jt: 
        $la = mo_saml_get_relay_state($la); 
        $rZ = empty($la) ? "/" : $la; 
        $RX = LicenseHelper::getCurrentOption(Mo_Saml_Options_Enum_Service_Provider::LOGIN_URL); 
        $RX = !is_array($RX) ? htmlspecialchars_decode($RX) : $RX; 
        $wK = LicenseHelper::getCurrentOption(Mo_Saml_Options_Enum_Service_Provider::LOGIN_BINDING_TYPE); 
        $Hs = get_option(Mo_Saml_Options_Enum_Sso_Login::FORCE_AUTHENTICATION); 
        $dD = $i8 . "/"; 
        $za = get_option(Mo_Saml_Options_Enum_Identity_Provider::SP_ENTITY_ID); 
        $Kj = LicenseHelper::getCurrentOption(Mo_Saml_Options_Enum_Service_Provider::NAMEID_FORMAT); 
        if (!empty($Kj)) { 
            goto rj; 
        } 
        $Kj = Mo_Saml_Options_Enum_Nameid_Formats::UNSPECIFIED; 
        rj: 
        if (!empty($za)) { 
            goto qa; 
        } 
        $za = $i8 . "/wp-content/plugins/miniorange-saml-20-single-sign-on/"; 
        qa: 
        if (!("Inactive" === get_option(Mo_Saml_Options_Enum_Service_Provider::IDP_STATUS))) { 
            goto u2; 
        } 
        throw new Mo_SAML_IDP_Status_Inactive_Exception("IDP Not Enabled."); 
        u2: 
        $f7 = SAMLSPUtilities::createAuthnRequest($dD, $za, $RX, $Hs, $wK, $Kj); 
        if (empty($wK) || $wK == "HttpRedirect") { 
            goto Ln; 
        } 
        if (!(LicenseHelper::getCurrentOption(Mo_Saml_Options_Enum_Service_Provider::REQUEST_SIGNED) == "unchecked")) { 
            goto aq; 
        } 
        $Ce = base64_encode($f7); 
        SAMLSPUtilities::postSAMLRequest($RX, $Ce, $rZ); 
        exit; 
        aq: 
        $Ce = SAMLSPUtilities::signXML($f7, "NameIDPolicy"); 
        SAMLSPUtilities::postSAMLRequest($RX, $Ce, $rZ); 
        goto lH; 
        Ln: 
        $lc = $RX; 
        if (strpos($RX, "?") !== false) { 
            goto B6; 
        } 
        $lc .= "?"; 
        goto Qx; 
        B6: 
        $lc .= "&"; 
        Qx: 
        if (!(LicenseHelper::getCurrentOption(Mo_Saml_Options_Enum_Service_Provider::REQUEST_SIGNED) == "unchecked")) { 
            goto Wc; 
        } 
        $lc .= "SAMLRequest=" . $f7 . "&RelayState=" . urlencode($rZ); 
        header("cache-control: max-age=0, private, no-store, no-cache, must-revalidate"); 
        header("Location: " . $lc); 
        exit; 
        Wc: 
        $f7 = "SAMLRequest=" . $f7 . "&RelayState=" . urlencode($rZ) . "&SigAlg=" . urlencode(XMLSecurityKey::RSA_SHA256); 
        $Ro = array("type" => "private"); 
        $Ln = new XMLSecurityKey(XMLSecurityKey::RSA_SHA256, $Ro); 
        $rX = get_option(Mo_Saml_Options_Enum_Current_Cerficates::CURRENT_CERT_PRIVATE_KEY); 
        $Ln->loadKey($rX, FALSE); 
        $cF = new XMLSecurityDSig(); 
        $EJ = $Ln->signData($f7); 
        $EJ = base64_encode($EJ); 
        $lc .= $f7 . "&Signature=" . urlencode($EJ); 
        header("cache-control: max-age=0, private, no-store, no-cache, must-revalidate"); 
        header("Location: " . $lc); 
        exit; 
        lH: 
        Ka: 
        s0: 
    } ?>

Did this file decode correctly?

Original Code

    function mo_saml_redirect_for_authentication($la)
    {
        if (mo_saml_is_extension_installed("\x64\157\155")) {
            goto Fa;
        }
        throw new Mo_SAML_DOM_Extension_Disabled_Exception("\104\x4f\x4d\104\157\143\x75\155\x65\156\164\40\x4e\x6f\164\40\111\156\x73\164\141\x6c\154\145\x64\x2e");
        Fa:
        if (mo_saml_is_extension_installed("\x63\x75\x72\154")) {
            goto dK;
        }
        throw new Mo_SAML_CURL_Extension_Disabled_Exception("\103\x75\x72\154\x20\x45\x78\x74\145\x6e\x73\151\157\156\x20\116\x6f\x74\x20\111\156\x73\x74\141\x6c\x6c\145\x64\x2e");
        dK:
        if (!(get_option(Mo_Saml_Options_Enum_Sso_Login::REDIRECT_IDP) == "\164\x72\x75\145")) {
            goto Ep;
        }
        $cb = home_url() . "\x2f\77\157\160\x74\151\157\156\75\163\141\x6d\x6c\x5f\165\x73\145\162\137\x6c\x6f\x67\151\156\x26\x72\145\144\151\x72\145\143\164\137\164\x6f\75";
        if (is_feed()) {
            goto yk;
        }
        echo "\74\163\x63\162\151\x70\x74\76\x77\151\x6e\x64\157\x77\56\x6c\x6f\x63\141\x74\151\x6f\x6e\x2e\x68\x72\x65\146\x3d\47{$cb}\x27\x2b\145\156\x63\157\x64\x65\x55\x52\x49\103\157\155\160\x6f\x6e\x65\156\x74\x28\167\151\156\x64\157\167\56\154\x6f\143\141\x74\x69\157\156\x2e\x68\162\145\146\x29\73\x3c\x2f\x73\x63\x72\x69\x70\x74\x3e";
        exit;
        yk:
        Ep:
        if (get_option(Mo_Saml_Options_Enum_Sso_Login::REDIRECT_IDP) == "\164\x72\x75\145" || get_option(Mo_Saml_Options_Enum_Sso_Login::AUTO_REDIRECT) == "\x74\162\x75\x65") {
            goto wn;
        }
        if (!(get_option(Mo_Saml_Options_Enum_Sso_Login::REDIRECT_TO_WP_LOGIN) == "\164\x72\x75\x65")) {
            goto pD;
        }
        if (!(mo_saml_is_sp_configured() && !is_user_logged_in())) {
            goto eF;
        }
        $Cs = site_url() . "\x2f\x77\160\55\154\157\147\151\156\x2e\x70\x68\160";
        if (empty($la)) {
            goto ep;
        }
        $Cs = $Cs . "\77\x72\145\144\x69\162\145\143\164\137\164\x6f\75" . urlencode($la) . "\x26\x72\145\x61\x75\164\150\75\61";
        ep:
        header("\x4c\157\143\x61\x74\151\x6f\x6e\72\40" . $Cs);
        exit;
        eF:
        pD:
        goto s0;
        wn:
        if (!(mo_saml_is_customer_registered_saml() && mo_saml_is_sp_configured() && !is_user_logged_in())) {
            goto Ka;
        }
        $i8 = get_option(Mo_Saml_Options_Enum_Identity_Provider::SP_BASE_URL);
        if (!empty($i8)) {
            goto wB;
        }
        $i8 = home_url();
        wB:
        if (!(get_option(Mo_Saml_Options_Enum_Sso_Login::RELAY_STATE) && get_option(Mo_Saml_Options_Enum_Sso_Login::RELAY_STATE) != '')) {
            goto jt;
        }
        $la = get_option(Mo_Saml_Options_Enum_Sso_Login::RELAY_STATE);
        jt:
        $la = mo_saml_get_relay_state($la);
        $rZ = empty($la) ? "\57" : $la;
        $RX = LicenseHelper::getCurrentOption(Mo_Saml_Options_Enum_Service_Provider::LOGIN_URL);
        $RX = !is_array($RX) ? htmlspecialchars_decode($RX) : $RX;
        $wK = LicenseHelper::getCurrentOption(Mo_Saml_Options_Enum_Service_Provider::LOGIN_BINDING_TYPE);
        $Hs = get_option(Mo_Saml_Options_Enum_Sso_Login::FORCE_AUTHENTICATION);
        $dD = $i8 . "\x2f";
        $za = get_option(Mo_Saml_Options_Enum_Identity_Provider::SP_ENTITY_ID);
        $Kj = LicenseHelper::getCurrentOption(Mo_Saml_Options_Enum_Service_Provider::NAMEID_FORMAT);
        if (!empty($Kj)) {
            goto rj;
        }
        $Kj = Mo_Saml_Options_Enum_Nameid_Formats::UNSPECIFIED;
        rj:
        if (!empty($za)) {
            goto qa;
        }
        $za = $i8 . "\57\167\160\x2d\143\x6f\156\x74\x65\x6e\x74\57\160\x6c\x75\147\x69\x6e\x73\x2f\x6d\x69\x6e\x69\157\162\141\x6e\x67\x65\x2d\x73\x61\155\x6c\55\x32\60\55\163\151\x6e\x67\154\x65\55\x73\x69\x67\x6e\x2d\x6f\x6e\x2f";
        qa:
        if (!("\111\x6e\141\143\164\151\x76\145" === get_option(Mo_Saml_Options_Enum_Service_Provider::IDP_STATUS))) {
            goto u2;
        }
        throw new Mo_SAML_IDP_Status_Inactive_Exception("\x49\x44\120\x20\x4e\x6f\164\x20\x45\x6e\141\x62\x6c\145\144\56");
        u2:
        $f7 = SAMLSPUtilities::createAuthnRequest($dD, $za, $RX, $Hs, $wK, $Kj);
        if (empty($wK) || $wK == "\110\164\x74\160\x52\145\144\151\162\145\x63\164") {
            goto Ln;
        }
        if (!(LicenseHelper::getCurrentOption(Mo_Saml_Options_Enum_Service_Provider::REQUEST_SIGNED) == "\x75\156\x63\150\x65\x63\153\145\144")) {
            goto aq;
        }
        $Ce = base64_encode($f7);
        SAMLSPUtilities::postSAMLRequest($RX, $Ce, $rZ);
        exit;
        aq:
        $Ce = SAMLSPUtilities::signXML($f7, "\116\x61\155\145\111\104\x50\x6f\x6c\151\x63\171");
        SAMLSPUtilities::postSAMLRequest($RX, $Ce, $rZ);
        goto lH;
        Ln:
        $lc = $RX;
        if (strpos($RX, "\77") !== false) {
            goto B6;
        }
        $lc .= "\x3f";
        goto Qx;
        B6:
        $lc .= "\46";
        Qx:
        if (!(LicenseHelper::getCurrentOption(Mo_Saml_Options_Enum_Service_Provider::REQUEST_SIGNED) == "\165\156\143\x68\145\143\153\145\x64")) {
            goto Wc;
        }
        $lc .= "\x53\x41\115\114\x52\145\x71\165\145\163\164\75" . $f7 . "\46\x52\x65\x6c\141\171\123\x74\x61\x74\145\75" . urlencode($rZ);
        header("\x63\141\x63\x68\145\x2d\x63\x6f\x6e\x74\x72\x6f\154\72\40\155\x61\170\55\x61\x67\x65\x3d\60\x2c\x20\160\162\x69\166\x61\x74\145\x2c\x20\156\157\55\x73\x74\157\x72\x65\x2c\x20\156\157\x2d\x63\x61\143\150\x65\54\x20\x6d\165\163\164\x2d\x72\145\x76\x61\x6c\x69\x64\x61\164\145");
        header("\x4c\157\143\x61\x74\151\157\156\x3a\40" . $lc);
        exit;
        Wc:
        $f7 = "\123\x41\115\x4c\x52\145\x71\165\145\163\164\75" . $f7 . "\46\122\x65\x6c\141\171\123\164\141\164\145\75" . urlencode($rZ) . "\46\123\x69\147\101\x6c\x67\x3d" . urlencode(XMLSecurityKey::RSA_SHA256);
        $Ro = array("\164\171\x70\145" => "\160\x72\151\166\x61\164\145");
        $Ln = new XMLSecurityKey(XMLSecurityKey::RSA_SHA256, $Ro);
        $rX = get_option(Mo_Saml_Options_Enum_Current_Cerficates::CURRENT_CERT_PRIVATE_KEY);
        $Ln->loadKey($rX, FALSE);
        $cF = new XMLSecurityDSig();
        $EJ = $Ln->signData($f7);
        $EJ = base64_encode($EJ);
        $lc .= $f7 . "\46\x53\x69\x67\x6e\x61\x74\165\x72\145\x3d" . urlencode($EJ);
        header("\x63\x61\x63\x68\145\55\143\x6f\x6e\x74\162\157\x6c\x3a\40\x6d\x61\170\55\x61\x67\145\75\x30\x2c\40\160\162\x69\166\141\164\145\x2c\40\156\157\x2d\163\x74\157\162\x65\x2c\x20\x6e\157\55\x63\141\143\x68\145\x2c\40\x6d\165\163\x74\x2d\162\145\166\x61\154\151\x64\x61\x74\145");
        header("\114\x6f\143\141\x74\x69\157\156\x3a\40" . $lc);
        exit;
        lH:
        Ka:
        s0:
    }

Function Calls

None

Variables

None

Stats

MD5 072b7aa7c07c56e3d24ce18b029b8200
Eval Count 0
Decode Time 61 ms