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

Signing you up...

Thank you for signing up!

PHP Decode

$_F=__FILE__;$_X='P1hmP1BRUF12Kl1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1t..

Decoded Output download

?><?php
/*
=====================================================
 DataLife Engine - by SoftNews Media Group 
-----------------------------------------------------
 https://dle-news.ru/
-----------------------------------------------------
 Copyright (c) 2004-2023 SoftNews Media Group
=====================================================
 This code is protected by copyright
=====================================================
 File: recaptcha.php
-----------------------------------------------------
 Use: Captcha Services
=====================================================
*/

class ReCaptchaResponse
{
    public $success;
    public $errorCodes;
}

class ReCaptcha
{
    private $_siteVerifyUrl = "https://www.google.com/recaptcha/api/siteverify?";
    private $_secret;
	private $_score = '0.5';
	private $_hcaptha = false;
    private $_turnstile = false;
	

    function __construct($secret)
    {   global $config;
	
        $this->_secret=$secret;
		
		if( $config['allow_recaptcha'] == 3 ) {
			$this->_siteVerifyUrl = "https://hcaptcha.com/siteverify?";
			$this->_hcaptha = true;
		}

        if ($config['allow_recaptcha'] == 4) {
            $this->_siteVerifyUrl = "https://challenges.cloudflare.com/turnstile/v0/siteverify";
            $this->_turnstile = true;
        }

		if( isset($config['recaptcha_score']) AND floatval($config['recaptcha_score']) > 0 AND floatval($config['recaptcha_score']) < 1) {
			$this->_score = floatval($config['recaptcha_score']);
		} else $this->_score = floatval($this->_score);

    }

    private function _encodeQS($data)
    {
        $req = "";
        foreach ($data as $key => $value) {
            $req .= $key . '=' . urlencode(stripslashes($value)) . '&';
        }
        // Cut the last '&'
        $req=substr($req, 0, strlen($req)-1);
        return $req;
    }

    private function _submitHTTPGet($path, $data)
    {
        $req = $this->_encodeQS($data);
        $response = file_get_contents($path . $req);
        return $response;
    }

    function _submitHttpPost($url, $data)
    {

        if (function_exists('curl_init')) {

            $ch = curl_init();
            curl_setopt($ch, CURLOPT_URL, $url);
            curl_setopt($ch, CURLOPT_POST, 1);
            curl_setopt($ch, CURLOPT_TIMEOUT, 5);
            curl_setopt($ch, CURLOPT_POSTFIELDS, http_build_query($data));
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

            $response = curl_exec($ch);
            curl_close($ch);

        } else {

            $options = array(
                'http' => array(
                    'header' => 'Content-type: application/x-www-form-urlencoded',
                    'method' => 'POST',
                    'content' => http_build_query($data)
                )
            );

            $context = stream_context_create($options);
            $response = file_get_contents($url, false, $context);
        }

        return $response;
    }

    /**
     * Calls the reCAPTCHA siteverify API to verify whether the user passes
     * CAPTCHA test.
     *
     * @param string $remoteIp   IP address of end user.
     * @param string $response   response string from recaptcha verification.
     *
     * @return ReCaptchaResponse
     */
    public function verifyResponse($remoteIp, $response)
    {
        // Discard empty solution submissions
        if ($response == null || strlen($response) == 0) {
            $recaptchaResponse = new ReCaptchaResponse();
            $recaptchaResponse->success = false;
            $recaptchaResponse->errorCodes = 'missing-input';
            return $recaptchaResponse;
        }

		if ( $this->_turnstile ) {

            $getResponse = $this->_submitHttpPost(
                $this->_siteVerifyUrl,
                array(
                    'secret' => $this->_secret,
                    'remoteip' => $remoteIp,
                    'response' => $response
                )
            );

        } else {

            $getResponse = $this->_submitHttpGet(
                $this->_siteVerifyUrl,
                array(
                    'secret' => $this->_secret,
                    'remoteip' => $remoteIp,
                    'response' => $response
                )
            );

        }
		
        $answers = json_decode($getResponse, true);

        $recaptchaResponse = new ReCaptchaResponse();
        if (trim($answers['success']) == true) {
			if( isset($answers['score']) AND $answers['score'] ) {
				if( $this->_hcaptha ) {
					if (floatval($answers['score']) <= $this->_score) {
						$recaptchaResponse->success = true;
					} else $recaptchaResponse->success = false;
				} else {
					if (floatval($answers['score']) >= $this->_score) {
						$recaptchaResponse->success = true;
					} else $recaptchaResponse->success = false;
				}
				
			} else  $recaptchaResponse->success = true;
        } else {
            $recaptchaResponse->success = false;
            $recaptchaResponse->errorCodes = $answers['error-codes'];
        }
        return $recaptchaResponse;
    }
}

Did this file decode correctly?

Original Code

$_F=__FILE__;$_X='P1hmP1BRUF12Kl1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbV14TTVZNWU9Rkt4cjlvPTlLeC14biB4ODFGWVdLNlN4bEtPPTV4SX0xa1B4XS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXXhRWVlQUzp2dk9aSy05SzZTL31rdl0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLV14ejFQIH09b1FZeChnKXg8VFRoLTxUPEh4ODFGWVdLNlN4bEtPPTV4SX0xa1BdbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1deGpRPVN4ZzFPS3g9U3hQfTFZS2dZS094biB4ZzFQIH09b1FZXW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tXXhwPVpLOnh9S2c1UFlnUTUvUFFQXS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXXhKU0s6eHo1UFlnUTV4OEt9RT1nS1NdbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1tbW1dKnZdXWdaNVNTeHtLejVQWWdRNXtLU1AxOVNLXTddeHh4eFBrblo9Z3gkU2tnZ0tTUztdeHh4eFBrblo9Z3gkS319MX16MU9LUztdaV1dZ1o1U1N4e0t6NVBZZ1E1XTddeHh4eFB9PUU1WUt4JF9TPVlLMkt9PUYgSn1aeG14IlFZWVBTOnZ2NjY2L28xMW9aSy9nMUJ2fUtnNVBZZ1E1djVQPXZTPVlLRUt9PUYgPyI7XXh4eHhQfT1FNVlLeCRfU0tnfUtZO10JUH09RTVZS3gkX1NnMX1LeG14J1QvQyc7XQlQfT1FNVlLeCRfUWc1UFlRNXhteEY1WlNLO114eHh4UH09RTVZS3gkX1lrfTlTWT1aS3hteEY1WlNLO10JXV14eHh4Rms5Z1k9MTl4X19nMTlTWX1rZ1koJFNLZ31LWSldeHh4eDd4eHhvWjFuNVp4JGcxOUY9bztdCV14eHh4eHh4eCRZUT1TLVhfU0tnfUtZbSRTS2d9S1k7XQkJXQkJPUYoeCRnMTlGPW9zJzVaWjE2X31LZzVQWWdRNSdWeG1teEh4KXg3XQkJCSRZUT1TLVhfUz1ZSzJLfT1GIEp9WnhteCJRWVlQUzp2dlFnNVBZZ1E1L2cxQnZTPVlLRUt9PUYgPyI7XQkJCSRZUT1TLVhfUWc1UFlRNXhteFl9a0s7XQkJaV1deHh4eHh4eHg9RngoJGcxOUY9b3MnNVpaMTZffUtnNVBZZ1E1J1Z4bW14aCl4N114eHh4eHh4eHh4eHgkWVE9Uy1YX1M9WUsyS309RiBKfVp4bXgiUVlZUFM6dnZnUTVaWks5b0tTL2daMWtPRlo1fUsvZzFCdllrfTlTWT1aS3ZFVHZTPVlLRUt9PUYgIjtdeHh4eHh4eHh4eHh4JFlRPVMtWF9Za305U1k9Wkt4bXhZfWtLO114eHh4eHh4eGldXQkJPUYoeD1TU0tZKCRnMTlGPW9zJ31LZzVQWWdRNV9TZzF9SydWKXhVV014RloxNVlFNVooJGcxOUY9b3MnfUtnNVBZZ1E1X1NnMX1LJ1YpeFh4VHhVV014RloxNVlFNVooJGcxOUY9b3MnfUtnNVBZZ1E1X1NnMX1LJ1YpeGZ4YSl4N10JCQkkWVE9Uy1YX1NnMX1LeG14RloxNVlFNVooJGcxOUY9b3MnfUtnNVBZZ1E1X1NnMX1LJ1YpO10JCWl4S1pTS3gkWVE9Uy1YX1NnMX1LeG14RloxNVlFNVooJFlRPVMtWF9TZzF9Syk7XV14eHh4aV1deHh4eFB9PUU1WUt4Rms5Z1k9MTl4X0s5ZzFPS3Q4KCRPNVk1KV14eHh4N114eHh4eHh4eCR9SzN4bXgiIjtdeHh4eHh4eHhGMX1LNWdReCgkTzVZNXg1U3gkCksgeG1YeCRFNVprSyl4N114eHh4eHh4eHh4eHgkfUszeC9teCQKSyB4L3gnbSd4L3hrfVpLOWcxT0soU1l9PVBTWjVTUUtTKCRFNVprSykpeC94JyYnO114eHh4eHh4eGldeHh4eHh4eHh2dnh6a1l4WVFLeFo1U1l4JyYnXXh4eHh4eHh4JH1LM21Ta25TWX0oJH1LMyx4VCx4U1l9Wks5KCR9SzMpLWEpO114eHh4eHh4eH1LWWt9OXgkfUszO114eHh4aV1deHh4eFB9PUU1WUt4Rms5Z1k9MTl4X1NrbkI9WUdqakxJS1koJFA1WVEseCRPNVk1KV14eHh4N114eHh4eHh4eCR9SzN4bXgkWVE9Uy1YX0s5ZzFPS3Q4KCRPNVk1KTtdeHh4eHh4eHgkfUtTUDE5U0t4bXhGPVpLX29LWV9nMTlZSzlZUygkUDVZUXgveCR9SzMpO114eHh4eHh4eH1LWWt9OXgkfUtTUDE5U0s7XXh4eHhpXV14eHh4Rms5Z1k9MTl4X1NrbkI9WUdZWVBMMVNZKCRrfVoseCRPNVk1KV14eHh4N11deHh4eHh4eHg9RngoRms5Z1k9MTlfS0Q9U1lTKCdna31aXz05PVknKSl4N11deHh4eHh4eHh4eHh4JGdReG14Z2t9Wl89OT1ZKCk7XXh4eHh4eHh4eHh4eGdrfVpfU0tZMVBZKCRnUSx4ekp7ZXlMal9Ke2UseCRrfVopO114eHh4eHh4eHh4eHhna31aX1NLWTFQWSgkZ1EseHpKe2V5TGpfTHk4aix4YSk7XXh4eHh4eHh4eHh4eGdrfVpfU0tZMVBZKCRnUSx4ekp7ZXlMal9qY2xyeUpqLHhDKTtdeHh4eHh4eHh4eHh4Z2t9Wl9TS1kxUFkoJGdRLHh6SntleUxqX0x5OGpwY3JlTTgseFFZWVBfbms9Wk9fM2tLfSAoJE81WTUpKTtdeHh4eHh4eHh4eHh4Z2t9Wl9TS1kxUFkoJGdRLHh6SntleUxqX3tyakp7V2p7VVc4cHJ7LHhZfWtLKTtdXXh4eHh4eHh4eHh4eCR9S1NQMTlTS3hteGdrfVpfS0RLZygkZ1EpO114eHh4eHh4eHh4eHhna31aX2daMVNLKCRnUSk7XV14eHh4eHh4eGl4S1pTS3g3XV14eHh4eHh4eHh4eHgkMVBZPTE5U3hteDV9fTUgKF14eHh4eHh4eHh4eHh4eHh4J1FZWVAneG1YeDV9fTUgKF14eHh4eHh4eHh4eHh4eHh4eHh4eCdRSzVPS30neG1YeCd6MTlZSzlZLVkgUEs6eDVQUFo9ZzVZPTE5dkQtNjY2LUYxfUIta31aSzlnMU9LTycsXXh4eHh4eHh4eHh4eHh4eHh4eHh4J0JLWVExTyd4bVh4J0x5OGonLF14eHh4eHh4eHh4eHh4eHh4eHh4eCdnMTlZSzlZJ3htWHhRWVlQX25rPVpPXzNrS30gKCRPNVk1KV14eHh4eHh4eHh4eHh4eHh4KV14eHh4eHh4eHh4eHgpO11deHh4eHh4eHh4eHh4JGcxOVlLRFl4bXhTWX1LNUJfZzE5WUtEWV9nfUs1WUsoJDFQWT0xOVMpO114eHh4eHh4eHh4eHgkfUtTUDE5U0t4bXhGPVpLX29LWV9nMTlZSzlZUygka31aLHhGNVpTSyx4JGcxOVlLRFkpO114eHh4eHh4eGldXXh4eHh4eHh4fUtZa305eCR9S1NQMTlTSztdeHh4eGldXXh4eHh2KipdeHh4eHgqeHo1WlpTeFlRS3h9S3pVTGp6R1V4Uz1ZS0VLfT1GIHhVTGN4WTF4RUt9PUYgeDZRS1lRS314WVFLeGtTS314UDVTU0tTXXh4eHh4Knh6VUxqekdVeFlLU1kvXXh4eHh4Kl14eHh4eCp4QFA1fTVCeFNZfT05b3gkfUtCMVlLY1B4eHhjTHg1T099S1NTeDFGeEs5T3hrU0t9L114eHh4eCp4QFA1fTVCeFNZfT05b3gkfUtTUDE5U0t4eHh9S1NQMTlTS3hTWX09OW94Rn0xQnh9S2c1UFlnUTV4RUt9PUY9ZzVZPTE5L114eHh4eCpdeHh4eHgqeEB9S1lrfTl4e0t6NVBZZ1E1e0tTUDE5U0tdeHh4eHgqdl14eHh4UGtuWj1neEZrOWdZPTE5eEVLfT1GIHtLU1AxOVNLKCR9S0IxWUtjUCx4JH1LU1AxOVNLKV14eHh4N114eHh4eHh4eHZ2eE09U2c1fU94S0JQWSB4UzFaa1k9MTl4U2tuQj1TUz0xOVNdeHh4eHh4eHg9RngoJH1LU1AxOVNLeG1teDlrWlp4fHx4U1l9Wks5KCR9S1NQMTlTSyl4bW14VCl4N114eHh4eHh4eHh4eHgkfUtnNVBZZ1E1e0tTUDE5U0t4bXg5SzZ4e0t6NVBZZ1E1e0tTUDE5U0soKTtdeHh4eHh4eHh4eHh4JH1LZzVQWWdRNXtLU1AxOVNLLVhTa2dnS1NTeG14RjVaU0s7XXh4eHh4eHh4eHh4eCR9S2c1UFlnUTV7S1NQMTlTSy1YS319MX16MU9LU3hteCdCPVNTPTlvLT05UGtZJztdeHh4eHh4eHh4eHh4fUtZa305eCR9S2c1UFlnUTV7S1NQMTlTSztdeHh4eHh4eHhpXV0JCT1GeCh4JFlRPVMtWF9Za305U1k9Wkt4KXg3XV14eHh4eHh4eHh4eHgkb0tZe0tTUDE5U0t4bXgkWVE9Uy1YX1NrbkI9WUdZWVBMMVNZKF14eHh4eHh4eHh4eHh4eHh4JFlRPVMtWF9TPVlLMkt9PUYgSn1aLF14eHh4eHh4eHh4eHh4eHh4NX19NSAoXXh4eHh4eHh4eHh4eHh4eHh4eHh4J1NLZ31LWSd4bVh4JFlRPVMtWF9TS2d9S1ksXXh4eHh4eHh4eHh4eHh4eHh4eHh4J31LQjFZSz1QJ3htWHgkfUtCMVlLY1AsXXh4eHh4eHh4eHh4eHh4eHh4eHh4J31LU1AxOVNLJ3htWHgkfUtTUDE5U0tdeHh4eHh4eHh4eHh4eHh4eCldeHh4eHh4eHh4eHh4KTtdXXh4eHh4eHh4aXhLWlNLeDddXXh4eHh4eHh4eHh4eCRvS1l7S1NQMTlTS3hteCRZUT1TLVhfU2tuQj1ZR1lZUElLWShdeHh4eHh4eHh4eHh4eHh4eCRZUT1TLVhfUz1ZSzJLfT1GIEp9WixdeHh4eHh4eHh4eHh4eHh4eDV9fTUgKF14eHh4eHh4eHh4eHh4eHh4eHh4eCdTS2d9S1kneG1YeCRZUT1TLVhfU0tnfUtZLF14eHh4eHh4eHh4eHh4eHh4eHh4eCd9S0IxWUs9UCd4bVh4JH1LQjFZS2NQLF14eHh4eHh4eHh4eHh4eHh4eHh4eCd9S1NQMTlTSyd4bVh4JH1LU1AxOVNLXXh4eHh4eHh4eHh4eHh4eHgpXXh4eHh4eHh4eHh4eCk7XV14eHh4eHh4eGldCQldeHh4eHh4eHgkNTlTNkt9U3hteDBTMTlfT0tnMU9LKCRvS1l7S1NQMTlTSyx4WX1rSyk7XV14eHh4eHh4eCR9S2c1UFlnUTV7S1NQMTlTS3hteDlLNnh7S3o1UFlnUTV7S1NQMTlTSygpO114eHh4eHh4eD1GeChZfT1CKCQ1OVM2S31TcydTa2dnS1NTJ1YpeG1teFl9a0speDddCQkJPUYoeD1TU0tZKCQ1OVM2S31TcydTZzF9SydWKXhVV014JDU5UzZLfVNzJ1NnMX1LJ1Z4KXg3XQkJCQk9Rih4JFlRPVMtWF9RZzVQWVE1eCl4N10JCQkJCT1GeChGWjE1WUU1WigkNTlTNkt9U3MnU2cxfUsnVil4Zm14JFlRPVMtWF9TZzF9Syl4N10JCQkJCQkkfUtnNVBZZ1E1e0tTUDE5U0stWFNrZ2dLU1N4bXhZfWtLO10JCQkJCWl4S1pTS3gkfUtnNVBZZ1E1e0tTUDE5U0stWFNrZ2dLU1N4bXhGNVpTSztdCQkJCWl4S1pTS3g3XQkJCQkJPUZ4KEZaMTVZRTVaKCQ1OVM2S31TcydTZzF9SydWKXhYbXgkWVE9Uy1YX1NnMX1LKXg3XQkJCQkJCSR9S2c1UFlnUTV7S1NQMTlTSy1YU2tnZ0tTU3hteFl9a0s7XQkJCQkJaXhLWlNLeCR9S2c1UFlnUTV7S1NQMTlTSy1YU2tnZ0tTU3hteEY1WlNLO10JCQkJaV0JCQkJXQkJCWl4S1pTS3h4JH1LZzVQWWdRNXtLU1AxOVNLLVhTa2dnS1NTeG14WX1rSztdeHh4eHh4eHhpeEtaU0t4N114eHh4eHh4eHh4eHgkfUtnNVBZZ1E1e0tTUDE5U0stWFNrZ2dLU1N4bXhGNVpTSztdeHh4eHh4eHh4eHh4JH1LZzVQWWdRNXtLU1AxOVNLLVhLfX0xfXoxT0tTeG14JDU5UzZLfVNzJ0t9fTF9LWcxT0tTJ1Y7XXh4eHh4eHh4aV14eHh4eHh4eH1LWWt9OXgkfUtnNVBZZ1E1e0tTUDE5U0s7XXh4eHhpXWld';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdvc05Re09TZXpSZEx0L0U+QVdhdUt3UEloYwp5RGZtWjFYR1U1aVswSnBZfXI8akJsQzc9XUZIOWtNMmJuVnYgNnEzeGcuODRUJywnZ1t6aFJkc0xDNkpQUS52OFdOMTllQnBHNElrT3g8PWxvPkhBYX1YalVGdHJFMlRtTTV7aQpmM251RFY3Yl0veXdZcSBjS1NaMCcpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw=='));

Function Calls

strtr 1
strrev 1
str_replace 1
base64_decode 2

Variables

$_D base64_decode
$_F index.php
$_R 0
$_X 0

Stats

MD5 af3f120d0de854db87352b10adbe89dc
Eval Count 2
Decode Time 44 ms