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 |
Stats
| MD5 | 0491bf99ff3dd440e03ff0fd99f614ca |
| Eval Count | 1 |
| Decode Time | 82 ms |