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

Variables

None

Stats

MD5 6fef94193e40273ca226a58f2f66d17f
Eval Count 1
Decode Time 34 ms