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("PD9waHANCmhlYWRlcigiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiA..
Decoded Output download
?>b'<?php
header("Access-Control-Allow-Origin: *");
header("Access-Control-Allow-Headers: access");
header("Access-Control-Allow-Methods: POST");
header("Content-Type: application/json; charset=UTF-8");
header("Access-Control-Allow-Headers: Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");
require __DIR__.\'/classes/Database.php\';
require __DIR__.\'/classes/JwtHandler.php\';
function msg($success,$status,$message,$extra = []){
http_response_code($status);
return array_merge([
\'success\' => $success,
\'status\' => $status,
\'message\' => $message
],$extra);
}
$db_connection = new Database();
$conn = $db_connection->dbConnection();
$data = json_decode(file_get_contents("php://input"));
$returnData = [];
// IF REQUEST METHOD IS NOT EQUAL TO POST
if($_SERVER["REQUEST_METHOD"] != "POST"):
$returnData = msg(0,404,\'Page Not Found!\');
// CHECKING EMPTY FIELDS
elseif(!isset($data->email)
|| !isset($data->password)
|| empty(trim($data->email))
|| empty(trim($data->password))
):
$fields = [\'fields\' => [\'email\',\'password\']];
$returnData = msg(0,422,\'Please Fill in all Required Fields!\',$fields);
// IF THERE ARE NO EMPTY FIELDS THEN-
else:
$email = trim($data->email);
$password = trim($data->password);
// CHECKING THE EMAIL FORMAT (IF INVALID FORMAT)
if(!filter_var($email, FILTER_VALIDATE_EMAIL)):
$returnData = msg(0,422,\'Invalid Email Address!\');
// IF PASSWORD IS LESS THAN 8 THE SHOW THE ERROR
elseif(strlen($password) < 8):
$returnData = msg(0,422,\'Your password must be at least 8 characters long!\');
// THE USER IS ABLE TO PERFORM THE LOGIN ACTION
else:
try{
$fetch_user_by_email = "SELECT * FROM `users` WHERE `email`=:email";
$query_stmt = $conn->prepare($fetch_user_by_email);
$query_stmt->bindValue(\':email\', $email,PDO::PARAM_STR);
$query_stmt->execute();
// IF THE USER IS FOUNDED BY EMAIL
if($query_stmt->rowCount()):
$row = $query_stmt->fetch(PDO::FETCH_ASSOC);
$check_password = password_verify($password, $row[\'password\']);
// VERIFYING THE PASSWORD (IS CORRECT OR NOT?)
// IF PASSWORD IS CORRECT THEN SEND THE LOGIN TOKEN
if($check_password):
$jwt = new JwtHandler();
$token = $jwt->jwtEncodeData(
\'http://localhost/php_auth_api/\',
array("user_id"=> $row[\'id\'])
);
$returnData = [
\'success\' => 1,
\'message\' => \'You have successfully logged in.\',
\'token\' => $token
];
// IF INVALID PASSWORD
else:
$returnData = msg(0,422,\'Invalid Password!\');
endif;
// IF THE USER IS NOT FOUNDED BY EMAIL THEN SHOW THE FOLLOWING ERROR
else:
$returnData = msg(0,422,\'Invalid Email Address!\');
endif;
}
catch(PDOException $e){
$returnData = msg(0,500,$e->getMessage());
}
endif;
endif;
echo json_encode($returnData);'
Did this file decode correctly?
Original Code
<?php eval("?>".base64_decode("PD9waHANCmhlYWRlcigiQWNjZXNzLUNvbnRyb2wtQWxsb3ctT3JpZ2luOiAqIik7DQpoZWFkZXIoIkFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnM6IGFjY2VzcyIpOw0KaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1NZXRob2RzOiBQT1NUIik7DQpoZWFkZXIoIkNvbnRlbnQtVHlwZTogYXBwbGljYXRpb24vanNvbjsgY2hhcnNldD1VVEYtOCIpOw0KaGVhZGVyKCJBY2Nlc3MtQ29udHJvbC1BbGxvdy1IZWFkZXJzOiBDb250ZW50LVR5cGUsIEFjY2Vzcy1Db250cm9sLUFsbG93LUhlYWRlcnMsIEF1dGhvcml6YXRpb24sIFgtUmVxdWVzdGVkLVdpdGgiKTsNCg0KcmVxdWlyZSBfX0RJUl9fLicvY2xhc3Nlcy9EYXRhYmFzZS5waHAnOw0KcmVxdWlyZSBfX0RJUl9fLicvY2xhc3Nlcy9Kd3RIYW5kbGVyLnBocCc7DQoNCmZ1bmN0aW9uIG1zZygkc3VjY2Vzcywkc3RhdHVzLCRtZXNzYWdlLCRleHRyYSA9IFtdKXsNCiAgICBodHRwX3Jlc3BvbnNlX2NvZGUoJHN0YXR1cyk7DQogICAgcmV0dXJuIGFycmF5X21lcmdlKFsNCiAgICAgICAgJ3N1Y2Nlc3MnID0+ICRzdWNjZXNzLA0KICAgICAgICAnc3RhdHVzJyA9PiAkc3RhdHVzLA0KICAgICAgICAnbWVzc2FnZScgPT4gJG1lc3NhZ2UNCiAgICBdLCRleHRyYSk7DQp9DQoNCiRkYl9jb25uZWN0aW9uID0gbmV3IERhdGFiYXNlKCk7DQokY29ubiA9ICRkYl9jb25uZWN0aW9uLT5kYkNvbm5lY3Rpb24oKTsNCg0KJGRhdGEgPSBqc29uX2RlY29kZShmaWxlX2dldF9jb250ZW50cygicGhwOi8vaW5wdXQiKSk7DQokcmV0dXJuRGF0YSA9IFtdOw0KDQovLyBJRiBSRVFVRVNUIE1FVEhPRCBJUyBOT1QgRVFVQUwgVE8gUE9TVA0KaWYoJF9TRVJWRVJbIlJFUVVFU1RfTUVUSE9EIl0gIT0gIlBPU1QiKToNCiAgICAkcmV0dXJuRGF0YSA9IG1zZygwLDQwNCwnUGFnZSBOb3QgRm91bmQhJyk7DQoNCi8vIENIRUNLSU5HIEVNUFRZIEZJRUxEUw0KZWxzZWlmKCFpc3NldCgkZGF0YS0+ZW1haWwpIA0KICAgIHx8ICFpc3NldCgkZGF0YS0+cGFzc3dvcmQpDQogICAgfHwgZW1wdHkodHJpbSgkZGF0YS0+ZW1haWwpKQ0KICAgIHx8IGVtcHR5KHRyaW0oJGRhdGEtPnBhc3N3b3JkKSkNCiAgICApOg0KDQogICAgJGZpZWxkcyA9IFsnZmllbGRzJyA9PiBbJ2VtYWlsJywncGFzc3dvcmQnXV07DQogICAgJHJldHVybkRhdGEgPSBtc2coMCw0MjIsJ1BsZWFzZSBGaWxsIGluIGFsbCBSZXF1aXJlZCBGaWVsZHMhJywkZmllbGRzKTsNCg0KLy8gSUYgVEhFUkUgQVJFIE5PIEVNUFRZIEZJRUxEUyBUSEVOLQ0KZWxzZToNCiAgICAkZW1haWwgPSB0cmltKCRkYXRhLT5lbWFpbCk7DQogICAgJHBhc3N3b3JkID0gdHJpbSgkZGF0YS0+cGFzc3dvcmQpOw0KDQogICAgLy8gQ0hFQ0tJTkcgVEhFIEVNQUlMIEZPUk1BVCAoSUYgSU5WQUxJRCBGT1JNQVQpDQogICAgaWYoIWZpbHRlcl92YXIoJGVtYWlsLCBGSUxURVJfVkFMSURBVEVfRU1BSUwpKToNCiAgICAgICAgJHJldHVybkRhdGEgPSBtc2coMCw0MjIsJ0ludmFsaWQgRW1haWwgQWRkcmVzcyEnKTsNCiAgICANCiAgICAvLyBJRiBQQVNTV09SRCBJUyBMRVNTIFRIQU4gOCBUSEUgU0hPVyBUSEUgRVJST1INCiAgICBlbHNlaWYoc3RybGVuKCRwYXNzd29yZCkgPCA4KToNCiAgICAgICAgJHJldHVybkRhdGEgPSBtc2coMCw0MjIsJ1lvdXIgcGFzc3dvcmQgbXVzdCBiZSBhdCBsZWFzdCA4IGNoYXJhY3RlcnMgbG9uZyEnKTsNCg0KICAgIC8vIFRIRSBVU0VSIElTIEFCTEUgVE8gUEVSRk9STSBUSEUgTE9HSU4gQUNUSU9ODQogICAgZWxzZToNCiAgICAgICAgdHJ5ew0KICAgICAgICAgICAgDQogICAgICAgICAgICAkZmV0Y2hfdXNlcl9ieV9lbWFpbCA9ICJTRUxFQ1QgKiBGUk9NIGB1c2Vyc2AgV0hFUkUgYGVtYWlsYD06ZW1haWwiOw0KICAgICAgICAgICAgJHF1ZXJ5X3N0bXQgPSAkY29ubi0+cHJlcGFyZSgkZmV0Y2hfdXNlcl9ieV9lbWFpbCk7DQogICAgICAgICAgICAkcXVlcnlfc3RtdC0+YmluZFZhbHVlKCc6ZW1haWwnLCAkZW1haWwsUERPOjpQQVJBTV9TVFIpOw0KICAgICAgICAgICAgJHF1ZXJ5X3N0bXQtPmV4ZWN1dGUoKTsNCg0KICAgICAgICAgICAgLy8gSUYgVEhFIFVTRVIgSVMgRk9VTkRFRCBCWSBFTUFJTA0KICAgICAgICAgICAgaWYoJHF1ZXJ5X3N0bXQtPnJvd0NvdW50KCkpOg0KICAgICAgICAgICAgICAgICRyb3cgPSAkcXVlcnlfc3RtdC0+ZmV0Y2goUERPOjpGRVRDSF9BU1NPQyk7DQogICAgICAgICAgICAgICAgJGNoZWNrX3Bhc3N3b3JkID0gcGFzc3dvcmRfdmVyaWZ5KCRwYXNzd29yZCwgJHJvd1sncGFzc3dvcmQnXSk7DQoNCiAgICAgICAgICAgICAgICAvLyBWRVJJRllJTkcgVEhFIFBBU1NXT1JEIChJUyBDT1JSRUNUIE9SIE5PVD8pDQogICAgICAgICAgICAgICAgLy8gSUYgUEFTU1dPUkQgSVMgQ09SUkVDVCBUSEVOIFNFTkQgVEhFIExPR0lOIFRPS0VODQogICAgICAgICAgICAgICAgaWYoJGNoZWNrX3Bhc3N3b3JkKToNCg0KICAgICAgICAgICAgICAgICAgICAkand0ID0gbmV3IEp3dEhhbmRsZXIoKTsNCiAgICAgICAgICAgICAgICAgICAgJHRva2VuID0gJGp3dC0+and0RW5jb2RlRGF0YSgNCiAgICAgICAgICAgICAgICAgICAgICAgICdodHRwOi8vbG9jYWxob3N0L3BocF9hdXRoX2FwaS8nLA0KICAgICAgICAgICAgICAgICAgICAgICAgYXJyYXkoInVzZXJfaWQiPT4gJHJvd1snaWQnXSkNCiAgICAgICAgICAgICAgICAgICAgKTsNCiAgICAgICAgICAgICAgICAgICAgDQogICAgICAgICAgICAgICAgICAgICRyZXR1cm5EYXRhID0gWw0KICAgICAgICAgICAgICAgICAgICAgICAgJ3N1Y2Nlc3MnID0+IDEsDQogICAgICAgICAgICAgICAgICAgICAgICAnbWVzc2FnZScgPT4gJ1lvdSBoYXZlIHN1Y2Nlc3NmdWxseSBsb2dnZWQgaW4uJywNCiAgICAgICAgICAgICAgICAgICAgICAgICd0b2tlbicgPT4gJHRva2VuDQogICAgICAgICAgICAgICAgICAgIF07DQoNCiAgICAgICAgICAgICAgICAvLyBJRiBJTlZBTElEIFBBU1NXT1JEDQogICAgICAgICAgICAgICAgZWxzZToNCiAgICAgICAgICAgICAgICAgICAgJHJldHVybkRhdGEgPSBtc2coMCw0MjIsJ0ludmFsaWQgUGFzc3dvcmQhJyk7DQogICAgICAgICAgICAgICAgZW5kaWY7DQoNCiAgICAgICAgICAgIC8vIElGIFRIRSBVU0VSIElTIE5PVCBGT1VOREVEIEJZIEVNQUlMIFRIRU4gU0hPVyBUSEUgRk9MTE9XSU5HIEVSUk9SDQogICAgICAgICAgICBlbHNlOg0KICAgICAgICAgICAgICAgICRyZXR1cm5EYXRhID0gbXNnKDAsNDIyLCdJbnZhbGlkIEVtYWlsIEFkZHJlc3MhJyk7DQogICAgICAgICAgICBlbmRpZjsNCiAgICAgICAgfQ0KICAgICAgICBjYXRjaChQRE9FeGNlcHRpb24gJGUpew0KICAgICAgICAgICAgJHJldHVybkRhdGEgPSBtc2coMCw1MDAsJGUtPmdldE1lc3NhZ2UoKSk7DQogICAgICAgIH0NCg0KICAgIGVuZGlmOw0KDQplbmRpZjsNCg0KZWNobyBqc29uX2VuY29kZSgkcmV0dXJuRGF0YSk7")); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | 6fef94193e40273ca226a58f2f66d17f |
Eval Count | 1 |
Decode Time | 34 ms |