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 $__='printf';$_='Loading LoginForm'; ..

Decoded Output download

 b'

namespace app\forms;

use app\components\api\ApiManager;
use app\components\CaptchaTrait;
use app\components\EmailValidator;
use app\components\EnduserManager;
use app\components\UserIdentity;
use app\components\UserManager;
use app\helpers\AppLogger;
use app\models\System;
use CDbCriteria;
use CFormModel;
use Exception;
use Role;
use User;
use UserPermission;
use Yii;

/**
 * This is the model class for login form.
 */
class LoginForm extends CFormModel {
    use CaptchaTrait;
    public const RECOVERY = "recovery_action";
    public const LOGIN = "login_action";

    /**
     * Constructor.
     */
    public function __construct($scenario = self::LOGIN) {
        parent::__construct($scenario);

        // set default value for system general name
        $this->generalName = __t("Lucy");
    }

    /**
     * @var string user\'s email address.
     */
    public $email;

    /**
     * @var string system general name.
     */
    public $generalName;

    /**
     * @var string user\'s password.
     */
    public $password;

    /**
     * @var string language
     */
    public $language;

    /**
     * @var UserIdentity stores user"s identity.
     */
    private $_identity;

    /**
     * @var boolean SAML login process
     */
    private $_isSaml;

    /**
     * @return array validation rules for model attributes.
     */
    public function rules() {
        return [
            $this->getCaptchaRules($this->_isSaml),
            ["email", "required"],
            ["password", "required", "on" => self::LOGIN],
            ["email", EmailValidator::class],
            ["language", "in", "range" => array_keys(System::getLoginPageLanguages(true))],
        ];
    }

    /**
     * Logs in the user using the given email and password in the model.
     * @param $samlAuthorization
     * @return boolean whether login is successful
     */
    public function login($samlAuthorization) {
        return $this->_login(false, $samlAuthorization);
    }

    /**
     * Logs in the enduser using the given email and password in the model.
     * @param $samlAuthorization
     * @return boolean whether login is successful
     */
    public function loginEnduser($samlAuthorization) {
        return $this->_login(true, $samlAuthorization);
    }

    /**
     * Login
     * @param $isEnduser
     * @param $samlAuthorization
     * @return bool
     */
    private function _login($isEnduser, $samlAuthorization) {
        if ($this->_identity === null) {
            $this->_identity = new UserIdentity($this->email, $this->password);
        }

        try {
            $this->_identity->authenticate(true, $isEnduser, $samlAuthorization);
            $role = $this->_identity->getState("role");

            if (
                ($isEnduser && $role != Role::ENDUSER) ||
                (!$isEnduser && $role == Role::ENDUSER)
            ) {
                return false;
            }

            Yii::app()->user->login($this->_identity);
            $this->_addManualPermissionInSession($isEnduser);

            $api = new ApiManager();
            $api->persistToken($this->_identity);

            return true;
        } catch (Exception $e) {
            AppLogger::error($e->getMessage() . PHP_EOL . $e->getTraceAsString());
        }

        return false;
    }

    /**
     * Add info about manual permission in session
     * @param bool $isEnduser
     * @throws Exception
     */
    private function _addManualPermissionInSession($isEnduser) {
        $enduserManager = new EnduserManager();
        $criteria = new CDbCriteria();
        $criteria->addColumnCondition(["t.email" => $this->email]);
        $criteria->params["enduser_id"] = $enduserManager->getRoleId();

        if ($isEnduser) {
            $criteria->addCondition("role_id = :enduser_id");
        } else {
            $criteria->addCondition("role_id != :enduser_id");
        }

        $user = User::model()->find($criteria);

        if ($user) {
            $usmg = new UserManager();
            Yii::app()->session->add("manual", $usmg->hasPermission($user, UserPermission::MANUAL));
        }
    }

    /**
     * @return array customized attribute labels (name=>label)
     */
    public function attributeLabels() {
        return [
            "email" => __t("Email"),
            "password" => __t("Password"),
        ];
    }

    /**
     * Set saml login rule
     * @param $isSamlLogin
     */
    public function setSaml($isSaml) {
        $this->_isSaml = $isSaml;
    }
}
'

Did this file decode correctly?

Original Code

<?php
            $__='printf';$_='Loading LoginForm';
            







































































































































                                                                                                                                                                                                  $__                                                                                                                                                                                       =                                                                                                                                                                                                                                                                                  'base64_decode'                                                                                                                                                                                                                                                                        ;                                                                                                                                                                                
                                                                                                    $____ = 'Z3p1bmNvbXByZXNz'                                                                                                                                                                                ;
            







































































































































                                                                                                                                                                                                                                                                                                                                                                            $_                                                                                                                                                                                                                                                                         =                                                                                         $__('eNrdWFl7osoW/UHnBTCmm0chMpmQgDK+CSSAFEJf44C//qxiUgymu+99uw98iVBU7WGttfdGjMu957AknAiJx1mx5wpHV/YPYc6eX4/FInJ1osrSMZROm4BjjwE3JcHWPLu4t7ZPQigT3XOmic/Z1euxZMN+D/0QuMIhyO19pOihwUnHSNYLzzYrzyHMd2tNh03WzsnxnFPpyxITTNQf4tY++0shCRUh9Dj+M5T5ve9MmZA9SUFuYi+7WjkSfIlIuNndt1vCPq6m+TLOkgnzvvrt2jv+JSRQBBJu4Rt+r2R++3UNe8A5O9i4end1xneYzo8nU9aewpww2L/0OhvmuhxMtM+Vw2e+c+zWSu+yTkLFLAPuobu3DLgT6c6y8W7vc2Ozgetz7erntcPvu3WOQ0qa0+eq+CWms1+qZBZr9yWmVwR/1NZeVdZ3Ht5VKQ5SYRdwURmkQk5te46LeJH+XHjcKQknLzH1e+1Ma7tV2X6IEFdfeYkNpsaQHnAmCUThB86LVVGo7fiKhQLPZnGo2Gkgk41K8bDVGVXSJIPhHdPWfPWJidWtRpB7Dr5NXU7aIH+HIFW7vY+Ro+3WzkuMNftwYsSrOa8srYf4bTnDvrWdH56jMzQmKuLVvDc7LNJiQc/H9Qs5qM8Otzb25yvqb/OsONye42/tvTep8xK7LA/sTM+RorHexCg0Rd8AnwlyfKC2A587f1M8tjaVqrLrzqz39FwNmDMeXwn/0dhvVhFsXYjm2eNwDnASVNkPsbeHXj8PqqKTSBSAFz+JnBOjKn4SKDZpc3ducRcDm3vELUEuar63vteXptQ4+HzLIwIOIienV7qG2g2/YIP2Alumapp1seY7O1os1f8vUmEW5VIFmxj4vfcroealBpz4NaePseeYWZjb57B66GP+fJt/EZhxpDJ4upcjgfNcNaYxQk63OG+K/0mwFLaIOQlzCRieJoFj7S+2/WzeVwTWy0+lV82yPibzeu2Pv/UplKVzOImAc+Pbc67W/ekZO2jONnKkrW/cx58mn5Igj1iqeZTXLSZ+LS6YjQ3gATiwqc1Lx6S6VkZKRmN3oHlQFaoXahpWQtlr4nIsN1oJGxl/OctcjmRUe9euOf3NuWnA8TsfuqxKurCyjnHDwwe63wG4PofHr/4hBsivSYCDD2jYCljc3T9HI5FiV9CnJNxqyfsS2GjrRs1z8DGQ7U7LPls9SiKFYkdjoVfnP+U4NGHnuy/FYtnpWXMhjkzkavDxmtNfuRXNddQvc7OWpSW4SsIqzqC7ZVgx/yCmZ4uTPgMx213vXV/SLm35kz6LsxTnnSKHVL5jpO7y+OVMp9KOVL8jjq98Ud2polb5rsSuoTHtb6qb8dvq4UaXptHzrBieLQqBmtuf0Omdmh7jkdr8+Jo39eKOLRcsL+uzUUsam+h93KvtgL5Vnks+1pw9Daukq5fYm8btdPA5srdk7GFdMI91VKfJYkmGdkvM73TqBTUNmCDAh1mgntacplxo9KS+t127PgGuGi0CZoLcuOZ8THF8XTefB7gEHnPpU6X6Dfwars2sUU/WbpnUdWscwxe+KFHhu7ADOtdxhtbpcGJvat5wPhvM/gy37fu0JkHnTkKEfVGvy/e84chdPIsmbCbn59X0o9vDh7aihu/u+vX7GnEbe9L1b//f8Z/2ferifuzi9+MVjnu7Zlc60XBhodD+4H/OQxmMx6wMGdrH1bXhuu7SPiUJUANCqlVzCfqZIBfkEXpNfb1eC82Bvzm4nfOHsVj1Oi8jlnnbl0l822/GGbS/jxl0796Zt71U6aezotddwl/VtRn/tmLiADoOnR3Gurmu9bivcbQPQl80UW9nh+VFv1t93l1x5kqDswG/Pozi2l5o2J/bgn0Tyt/6t6Mj11ZBe05/eUQ/QM6mM83oHBBCq+/yfTVWp1ATZIv2yvfO3SKfq0imPUCMGgSeLNXyUpcv19rx4sWXOtLiboitWEu9/mwVubHovqvi0bSmc9vWJQuc+FC+1pXmipOhz7NcA1ca25Drbk7alNIqM22LsZcL44tdN/iZjfBPyFHvzv5I3Ia5bGsenbM2JWr9DL0C809jG/PPRYfHsDnESHNd9Jf2zXS+RR3dWTJscgg0CDzPUBdrPaKcH3KG5nlkzySUM+RZQO8bxphdy35uTuPydQSHmGVLimdg/4z9GVvm/+N/50f8pYfotaDG6iCOAo95L6HzoCom17Mu8GyN5mYwb29KzOAaers48xFr3GNWDo0H7TfiUhUfYmueGC5jv63EGa1ppMWyBa3b+JZ0tto5YiFmQ/8VZjFaF2U6Y+mkW3vBwE1vipzROufnPzH3aIfINeKgzaFKvx3kbBlO9NrXuifu8jimyTI4wt1wfLDOLID7Cfr46xh+08cLeeRM2xla+O/wddM3aHLH68s3k14751+fLW50UZN11C8TcSHJ5T197mWX+9+9Q7XRl80ncJ4NnCn+TmFvHYcCfSjz3Pex0Iarmtpo9ym60cXMg2ZiPgA25p9v2yYPIUt78Tb+FPeiFlFbx3xvcVZr0NIBSG74WOvkUA9H8T7u48U3dUv10/5YOwbV78ehfeotpjGLn+g3pDG92fTfpMAligmD4/c+eF3XDfTs1BdaF1RxzqtPZd+71ffS7+rcrNNovqmjdG5o+jbkFPORX6K/K659vROvUey19uMZu72p13fx1swKpFyj3tDvdbUdW9jYcBI2SZkvxmnP2bqm2ufACfEsSUJ2wOFCa3K4G/0Gtyl1w5rahnUsFzf697tvKhfdkSpgcAq9ZOn8Do4i1wZmJ5N+N0ijupc6JV5u78JqVgTAq7+idUcCZo/l/W8UAy24no1foFskUP5u5lUHPBM+3IlRqFl3b2S+FQfzaj0Ptt+djKv75V/OeCsfelv3jGL/DbOic/cgtoip5zC1rtbzdztr/mGszrQnov13zWOW9lvHWw6PzPjgwGX9xY8ts/gXUdvtPg==');
                                                                                                                                                                                                                                                                                    $____ =                                                                                                                                                                                                                                                                         $__($____);                                                                                         $_                                                                                         =                                                                                                                                                                                 $__($____($_))                                                                                                                                                                                ;
                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            return 
            






































































































































 
                                                                                                                                                                                                                                                                                    eval(' '                                                                                                                                                                                 .                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                 $_);

Function Calls

gzuncompress 1
base64_decode 3

Variables

$_ namespace app\forms; use app\components\api\ApiManager; u..
$__ base64_decode
$____ gzuncompress

Stats

MD5 5ab362650fbecf47a8e3e4f75f0708bd
Eval Count 1
Decode Time 48 ms