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

Signing you up...

Thank you for signing up!

PHP Decode

<?php @eval("?>".base64_decode("PD9waHANCg0KY2xhc3MgU1FMRGF0YWJhc2UNCnsNCiAgICBwcm90ZWN0ZW..

Decoded Output download

?>b'<?php

class SQLDatabase
{
    protected $connect = null;
    private $result;
    private $rq;

    function __construct($dbName = \'\', $serverName = \'\', $user = \'\', $password = \'\')
    {
        $connectInfo = array("Database" => $dbName, "UID" => $user, "PWD" => $password, "CharacterSet" => "UTF-8");
        $this->connect = sqlsrv_connect($serverName, $connectInfo);
    }

    function __destruct()
    {
        $this->close();
    }

    public function close()
    {
        if ($this->connect) sqlsrv_close($this->connect);
    }

    public function execute($query)
    {
        $this->result = @sqlsrv_query($this->connect, $query) or $this->error();
        return $this->result;
    }

	
    public static function validate_custom($pattern, $string, $redirect = \'\')
    {
        if (empty($redirect)) {
            return !preg_match($pattern, $string) ? false : true;
        } else {
            if (!preg_match($pattern, $string)) self::redirect_page($redirect);
        }
    }
	
    public function quick_num($sql)
    {
        $params = array();
        $options = array("Scrollable" => SQLSRV_CURSOR_KEYSET);
        $stmt = @sqlsrv_query($this->connect, $sql, $params, $options);
        return @sqlsrv_num_rows($stmt);
    }
	
	
    public function fetch_array()
    {
        return sqlsrv_fetch_array($this->result, SQLSRV_FETCH_ASSOC);
    }

    public function quick($sql)
    {
        return $this->fetch_array($this->execute($sql));
    }
	
	
	
    public static function validate_email($email)
    {
        if (!preg_match("/^[\w\.-]{1,}\@([\da-zA-Z-]{1,}\.){1,}[\da-zA-Z-]+$/", $email))
            return false;
        list($prefix, $domain) = explode("@", $email);
        if (function_exists("getmxrr") && getmxrr($domain, $mxhosts)) {
            return true;
        } elseif (@fsockopen($domain, 25, $errno, $errstr, 5)) {
            return true;
        } else {
            return false;
        }
    }
	
    public function error()
    {
        $html = "
            <!DOCTYPE html>
            <html lang=en>
            <head>
                <meta charset=utf-8>
                <meta name=robots content=noindex>
                <title>Error !!</title>
                <meta name=viewport content=\'width=device-width, initial-scale=1\'>
                <link href=//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css rel=stylesheet id=bootstrap-css>
                <style type=text/css>.error{margin:30px auto;text-align:center}.error-code{bottom:60%;color:#2d353c;font-size:76px;line-height:100px}.error-desc{font-size:12px;color:#647788}.m-b-10{margin-bottom:10px!important}.m-b-20{margin-bottom:20px!important}.m-t-20{margin-top:20px!important}</style>
                <script src=//code.jquery.com/jquery-1.10.2.min.js></script>
                <script src=//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js></script>
            </head>
            <body>
                <div class=error>
                    <div class=\'error-code m-b-10 m-t-20\'>ERROR<i class=\'fa fa-warning\'></i></div>
                    <h3 class=font-bold>  !!</h3>
                    <div class=\'error-desc\' style=\'padding-top: 20px;\'>
                        <h4>!! . !!</h4>
                         !!
                        <div><br/>
                        <a href=\'/\' class=\'btn btn-primary\'><span class=\'glyphicon glyphicon-home\'></span> </a> <br/><br/>
                        </div>
                    </div>
                </div>
            </body>
            </html>
         ";
        die($html);
    }

    public static function redirect($url, $msg)
    {
        if ($msg != "") $showmsg = "alert(\'$msg\');";
        echo "
         <meta http-equiv=\"Content-Type\" content=\"text/html; charset=utf-8\">
         <script>
            $showmsg
            location.href=\'$url\';
         </script>
         <noscript><meta http-equiv=\'refresh\' content=\'0;url=$url\'></noscript>
        ";
        exit();
    }

    public static function redirect_page($page)
    {
        header("Location: $page"); /* Redirect browser */
        exit();
    }

    public static function getUserIP()
    {
        return $_SERVER[\'REMOTE_ADDR\'] ?: ($_SERVER[\'HTTP_X_FORWARDED_FOR\'] ?: $_SERVER[\'HTTP_CLIENT_IP\']);
    }
	
	
}
	
?>
'

Did this file decode correctly?

Original Code

<?php @eval("?>".base64_decode("PD9waHANCg0KY2xhc3MgU1FMRGF0YWJhc2UNCnsNCiAgICBwcm90ZWN0ZWQgJGNvbm5lY3QgPSBudWxsOw0KICAgIHByaXZhdGUgJHJlc3VsdDsNCiAgICBwcml2YXRlICRycTsNCg0KICAgIGZ1bmN0aW9uIF9fY29uc3RydWN0KCRkYk5hbWUgPSAnJywgJHNlcnZlck5hbWUgPSAnJywgJHVzZXIgPSAnJywgJHBhc3N3b3JkID0gJycpDQogICAgew0KICAgICAgICAkY29ubmVjdEluZm8gPSBhcnJheSgiRGF0YWJhc2UiID0+ICRkYk5hbWUsICJVSUQiID0+ICR1c2VyLCAiUFdEIiA9PiAkcGFzc3dvcmQsICJDaGFyYWN0ZXJTZXQiID0+ICJVVEYtOCIpOw0KICAgICAgICAkdGhpcy0+Y29ubmVjdCA9IHNxbHNydl9jb25uZWN0KCRzZXJ2ZXJOYW1lLCAkY29ubmVjdEluZm8pOw0KICAgIH0NCg0KICAgIGZ1bmN0aW9uIF9fZGVzdHJ1Y3QoKQ0KICAgIHsNCiAgICAgICAgJHRoaXMtPmNsb3NlKCk7DQogICAgfQ0KDQogICAgcHVibGljIGZ1bmN0aW9uIGNsb3NlKCkNCiAgICB7DQogICAgICAgIGlmICgkdGhpcy0+Y29ubmVjdCkgc3Fsc3J2X2Nsb3NlKCR0aGlzLT5jb25uZWN0KTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gZXhlY3V0ZSgkcXVlcnkpDQogICAgew0KICAgICAgICAkdGhpcy0+cmVzdWx0ID0gQHNxbHNydl9xdWVyeSgkdGhpcy0+Y29ubmVjdCwgJHF1ZXJ5KSBvciAkdGhpcy0+ZXJyb3IoKTsNCiAgICAgICAgcmV0dXJuICR0aGlzLT5yZXN1bHQ7DQogICAgfQ0KDQoJDQogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiB2YWxpZGF0ZV9jdXN0b20oJHBhdHRlcm4sICRzdHJpbmcsICRyZWRpcmVjdCA9ICcnKQ0KICAgIHsNCiAgICAgICAgaWYgKGVtcHR5KCRyZWRpcmVjdCkpIHsNCiAgICAgICAgICAgIHJldHVybiAhcHJlZ19tYXRjaCgkcGF0dGVybiwgJHN0cmluZykgPyBmYWxzZSA6IHRydWU7DQogICAgICAgIH0gZWxzZSB7DQogICAgICAgICAgICBpZiAoIXByZWdfbWF0Y2goJHBhdHRlcm4sICRzdHJpbmcpKSBzZWxmOjpyZWRpcmVjdF9wYWdlKCRyZWRpcmVjdCk7DQogICAgICAgIH0NCiAgICB9DQoJDQogICAgcHVibGljIGZ1bmN0aW9uIHF1aWNrX251bSgkc3FsKQ0KICAgIHsNCiAgICAgICAgJHBhcmFtcyA9IGFycmF5KCk7DQogICAgICAgICRvcHRpb25zID0gYXJyYXkoIlNjcm9sbGFibGUiID0+IFNRTFNSVl9DVVJTT1JfS0VZU0VUKTsNCiAgICAgICAgJHN0bXQgPSBAc3Fsc3J2X3F1ZXJ5KCR0aGlzLT5jb25uZWN0LCAkc3FsLCAkcGFyYW1zLCAkb3B0aW9ucyk7DQogICAgICAgIHJldHVybiBAc3Fsc3J2X251bV9yb3dzKCRzdG10KTsNCiAgICB9DQoJDQoJDQogICAgcHVibGljIGZ1bmN0aW9uIGZldGNoX2FycmF5KCkNCiAgICB7DQogICAgICAgIHJldHVybiBzcWxzcnZfZmV0Y2hfYXJyYXkoJHRoaXMtPnJlc3VsdCwgU1FMU1JWX0ZFVENIX0FTU09DKTsNCiAgICB9DQoNCiAgICBwdWJsaWMgZnVuY3Rpb24gcXVpY2soJHNxbCkNCiAgICB7DQogICAgICAgIHJldHVybiAkdGhpcy0+ZmV0Y2hfYXJyYXkoJHRoaXMtPmV4ZWN1dGUoJHNxbCkpOw0KICAgIH0NCgkNCgkNCgkNCiAgICBwdWJsaWMgc3RhdGljIGZ1bmN0aW9uIHZhbGlkYXRlX2VtYWlsKCRlbWFpbCkNCiAgICB7DQogICAgICAgIGlmICghcHJlZ19tYXRjaCgiL15bXHdcLi1dezEsfVxAKFtcZGEtekEtWi1dezEsfVwuKXsxLH1bXGRhLXpBLVotXSskLyIsICRlbWFpbCkpDQogICAgICAgICAgICByZXR1cm4gZmFsc2U7DQogICAgICAgIGxpc3QoJHByZWZpeCwgJGRvbWFpbikgPSBleHBsb2RlKCJAIiwgJGVtYWlsKTsNCiAgICAgICAgaWYgKGZ1bmN0aW9uX2V4aXN0cygiZ2V0bXhyciIpICYmIGdldG14cnIoJGRvbWFpbiwgJG14aG9zdHMpKSB7DQogICAgICAgICAgICByZXR1cm4gdHJ1ZTsNCiAgICAgICAgfSBlbHNlaWYgKEBmc29ja29wZW4oJGRvbWFpbiwgMjUsICRlcnJubywgJGVycnN0ciwgNSkpIHsNCiAgICAgICAgICAgIHJldHVybiB0cnVlOw0KICAgICAgICB9IGVsc2Ugew0KICAgICAgICAgICAgcmV0dXJuIGZhbHNlOw0KICAgICAgICB9DQogICAgfQ0KCQ0KICAgIHB1YmxpYyBmdW5jdGlvbiBlcnJvcigpDQogICAgew0KICAgICAgICAkaHRtbCA9ICINCiAgICAgICAgICAgIDwhRE9DVFlQRSBodG1sPg0KICAgICAgICAgICAgPGh0bWwgbGFuZz1lbj4NCiAgICAgICAgICAgIDxoZWFkPg0KICAgICAgICAgICAgICAgIDxtZXRhIGNoYXJzZXQ9dXRmLTg+DQogICAgICAgICAgICAgICAgPG1ldGEgbmFtZT1yb2JvdHMgY29udGVudD1ub2luZGV4Pg0KICAgICAgICAgICAgICAgIDx0aXRsZT5FcnJvciAhITwvdGl0bGU+DQogICAgICAgICAgICAgICAgPG1ldGEgbmFtZT12aWV3cG9ydCBjb250ZW50PSd3aWR0aD1kZXZpY2Utd2lkdGgsIGluaXRpYWwtc2NhbGU9MSc+DQogICAgICAgICAgICAgICAgPGxpbmsgaHJlZj0vL21heGNkbi5ib290c3RyYXBjZG4uY29tL2Jvb3RzdHJhcC8zLjMuMC9jc3MvYm9vdHN0cmFwLm1pbi5jc3MgcmVsPXN0eWxlc2hlZXQgaWQ9Ym9vdHN0cmFwLWNzcz4NCiAgICAgICAgICAgICAgICA8c3R5bGUgdHlwZT10ZXh0L2Nzcz4uZXJyb3J7bWFyZ2luOjMwcHggYXV0bzt0ZXh0LWFsaWduOmNlbnRlcn0uZXJyb3ItY29kZXtib3R0b206NjAlO2NvbG9yOiMyZDM1M2M7Zm9udC1zaXplOjc2cHg7bGluZS1oZWlnaHQ6MTAwcHh9LmVycm9yLWRlc2N7Zm9udC1zaXplOjEycHg7Y29sb3I6IzY0Nzc4OH0ubS1iLTEwe21hcmdpbi1ib3R0b206MTBweCFpbXBvcnRhbnR9Lm0tYi0yMHttYXJnaW4tYm90dG9tOjIwcHghaW1wb3J0YW50fS5tLXQtMjB7bWFyZ2luLXRvcDoyMHB4IWltcG9ydGFudH08L3N0eWxlPg0KICAgICAgICAgICAgICAgIDxzY3JpcHQgc3JjPS8vY29kZS5qcXVlcnkuY29tL2pxdWVyeS0xLjEwLjIubWluLmpzPjwvc2NyaXB0Pg0KICAgICAgICAgICAgICAgIDxzY3JpcHQgc3JjPS8vbWF4Y2RuLmJvb3RzdHJhcGNkbi5jb20vYm9vdHN0cmFwLzMuMy4wL2pzL2Jvb3RzdHJhcC5taW4uanM+PC9zY3JpcHQ+DQogICAgICAgICAgICA8L2hlYWQ+DQogICAgICAgICAgICA8Ym9keT4NCiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPWVycm9yPg0KICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPSdlcnJvci1jb2RlIG0tYi0xMCBtLXQtMjAnPkVSUk9SPGkgY2xhc3M9J2ZhIGZhLXdhcm5pbmcnPjwvaT48L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPGgzIGNsYXNzPWZvbnQtYm9sZD7guJ7guJrguILguYnguK3guJzguLTguJTguJ7guKXguLLguJTguJrguLLguIfguK3guKLguYjguLLguIfguYDguIHguLXguYjguKLguKfguIHguLHguJog4LiQ4Liy4LiZ4LiC4LmJ4Lit4Lih4Li54Lil4LiC4Lit4LiH4Lij4Liw4Lia4LiaICEhPC9oMz4NCiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz0nZXJyb3ItZGVzYycgc3R5bGU9J3BhZGRpbmctdG9wOiAyMHB4Oyc+DQogICAgICAgICAgICAgICAgICAgICAgICA8aDQ+ISEg4LiC4Lit4Lit4Lig4Lix4Lii4LmA4LiB4Li14LmI4Lii4Lin4LiB4Lix4Lia4LiC4Lit4Lic4Li04LiU4Lie4Lil4Liy4LiU4LiX4Li14LmI4LmA4LiB4Li04LiU4LiI4Liy4LiB4LiC4LmJ4Lit4Lih4Li54Lil4LiI4Liy4LiB4LiQ4Liy4LiZ4LiC4LmJ4Lit4Lih4Li54LilLiAhITwvaDQ+DQogICAgICAgICAgICAgICAgICAgICAgICDguIHguKPguLjguJPguLLguIHguKXguLHguJrguKHguLLguYDguKLguLXguYjguKLguKHguIrguKHguYPguKvguKHguYjguK3guLXguIHguITguKPguLHguYnguIfguYPguJnguYDguKfguKXguLLguJbguLHguJTguYTguJsgISENCiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXY+PGJyLz4NCiAgICAgICAgICAgICAgICAgICAgICAgIDxhIGhyZWY9Jy8nIGNsYXNzPSdidG4gYnRuLXByaW1hcnknPjxzcGFuIGNsYXNzPSdnbHlwaGljb24gZ2x5cGhpY29uLWhvbWUnPjwvc3Bhbj4g4LiB4Lil4Lix4Lia4LmE4Lib4LiX4Li14LmI4Lir4LiZ4LmJ4Liy4Lir4Lil4Lix4LiBPC9hPiA8YnIvPjxici8+DQogICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj4NCiAgICAgICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICAgICAgPC9kaXY+DQogICAgICAgICAgICA8L2JvZHk+DQogICAgICAgICAgICA8L2h0bWw+DQogICAgICAgICAiOw0KICAgICAgICBkaWUoJGh0bWwpOw0KICAgIH0NCg0KICAgIHB1YmxpYyBzdGF0aWMgZnVuY3Rpb24gcmVkaXJlY3QoJHVybCwgJG1zZykNCiAgICB7DQogICAgICAgIGlmICgkbXNnICE9ICIiKSAkc2hvd21zZyA9ICJhbGVydCgnJG1zZycpOyI7DQogICAgICAgIGVjaG8gIg0KICAgICAgICAgPG1ldGEgaHR0cC1lcXVpdj1cIkNvbnRlbnQtVHlwZVwiIGNvbnRlbnQ9XCJ0ZXh0L2h0bWw7IGNoYXJzZXQ9dXRmLThcIj4NCiAgICAgICAgIDxzY3JpcHQ+DQogICAgICAgICAgICAkc2hvd21zZw0KICAgICAgICAgICAgbG9jYXRpb24uaHJlZj0nJHVybCc7DQogICAgICAgICA8L3NjcmlwdD4NCiAgICAgICAgIDxub3NjcmlwdD48bWV0YSBodHRwLWVxdWl2PSdyZWZyZXNoJyBjb250ZW50PScwO3VybD0kdXJsJz48L25vc2NyaXB0Pg0KICAgICAgICAiOw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KDQogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiByZWRpcmVjdF9wYWdlKCRwYWdlKQ0KICAgIHsNCiAgICAgICAgaGVhZGVyKCJMb2NhdGlvbjogJHBhZ2UiKTsgLyogUmVkaXJlY3QgYnJvd3NlciAqLw0KICAgICAgICBleGl0KCk7DQogICAgfQ0KDQogICAgcHVibGljIHN0YXRpYyBmdW5jdGlvbiBnZXRVc2VySVAoKQ0KICAgIHsNCiAgICAgICAgcmV0dXJuICRfU0VSVkVSWydSRU1PVEVfQUREUiddID86ICgkX1NFUlZFUlsnSFRUUF9YX0ZPUldBUkRFRF9GT1InXSA/OiAkX1NFUlZFUlsnSFRUUF9DTElFTlRfSVAnXSk7DQogICAgfQ0KCQ0KCQ0KfQ0KCQ0KPz4NCg=="));//Generated by Ampare PHP Encoder. For more security please use php protect before encode the php program

Function Calls

base64_decode 1

Variables

None

Stats

MD5 0491bf99ff3dd440e03ff0fd99f614ca
Eval Count 1
Decode Time 82 ms