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("\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\..

Decoded Output download

?><?php

namespace app\controllers;

use app\models\Option;
use app\models\Page;
use app\models\Stats;
use app\models\UserCountSettings;
use Yii;
use yii\filters\AccessControl;
use yii\web\Controller;
use yii\filters\VerbFilter;
use app\models\LoginForm;
use app\models\ContactForm;
use yii\web\Cookie;
use yii\web\Session;

class SiteController extends Controller
{
    public function behaviors()
    {
        return [
            'access' => [
                'class' => AccessControl::className(),
                'only' => ['logout'],
                'rules' => [
                    [
                        'actions' => ['logout'],
                        'allow' => true,
                        'roles' => ['@'],
                    ],
                ],
            ],
            'verbs' => [
                'class' => VerbFilter::className(),
                'actions' => [
                    'logout' => ['post'],
                ],
            ],
        ];
    }

    public function actions()
    {
        return [
            'error' => [
                'class' => 'yii\web\ErrorAction',
            ],
            'captcha' => [
                'class' => 'yii\captcha\CaptchaAction',
                'fixedVerifyCode' => YII_ENV_TEST ? 'testme' : null,
            ],
        ];
    }

    public function actionIndex()
    {
		if($_SERVER['SERVER_NAME'] != 'hmanager.trattoria.md')
		{
			echo "Oops, what are you trying to do ?";
			exit();
		}
        return $this->render('index');
    }

    public function actionView($id,$pageId = null)
    {
        //aflu de cate ori a fost utilizatorul la noi
        $session = Yii::$app->session; // 30 zile
        $session->setTimeout(30 * 24 * 60 * 60); // 30 zile
        $userCount = $session->get('userCount',0);
        $session->set('userCount',$userCount+1);

        /*$userCount = Yii::$app->getRequest()->getCookies()->getValue('cookie_'.$id,0);
        $cookie = new Cookie([
            'name' => 'cookie_'.$id,
            'value' => $userCount+1,
            'expire' => time() + 30 * 24 * 60 * 60, // 30 zile
        ]);
        Yii::$app->getResponse()->getCookies()->add($cookie);
        */
        $this->layout = 'view';
        if($pageId)
            $page = Page::find()->where(['id_user' => $id, 'id' => $pageId])->one();
        else
        {
            $planified = Page::find()->where(['id_user'=>$id])->where('NOW() BETWEEN date_start AND date_end')->one();
            if($planified)
            {
                $page = $planified;
            }
            else
            {
                $page = Page::find()->where(['id_user'=>$id,'default'=>1])->one();
            }

        }

        $userCountOption = Option::getOption('userCount',$id);
        if($userCountOption)
            $userCountOption = json_decode($userCountOption->option);

        if(isset($userCountOption->userCount) && $userCountOption->userCount != 0 && $userCount == $userCountOption->userCount)
        {
            $page = Page::find()->where(['id' => $userCountOption->pageId])->one();
        }

        if(!$page)
            throw new \yii\web\NotFoundHttpException("No hotspot page found");

        $views = Stats::addView($id,$page->id);


        return $this->render('view',[
            'page' => $page,
        ]);
    }
    public function actionStats($date = null)
    {
        if(!$date)
        {
            $date = date("Y-m-d");
        }

        $statsPerDay = Stats::find()->select("sum(views) as views,date")->
        where('date BETWEEN DATE_SUB(\''.$date.'\', INTERVAL 30 DAY) AND DATE_ADD(\''.$date.'\',INTERVAL 30 DAY) AND id_user = '.Yii::$app->user->id)->
        groupBy('date')->
        all();

        $statsPerHour = Stats::find()->select("sum(views) as views,date,hour")->
        where('date = \''.$date.'\' AND id_user = '.Yii::$app->user->id)->
        groupBy('hour')->
        all();

        return $this->render('stats',[
            'statsPerDay' => $statsPerDay,
            'statsPerHour' => $statsPerHour,
            'filterDate' => $date,
        ]);
    }
    public function actionSettings()
    {
		echo "Sorry you can't use this options";
		exit();
        $option = Option::getOption('userCount',Yii::$app->user->id);
        $model = new UserCountSettings();

        $pages = Page::find()->all();
        if($model->load(Yii::$app->request->post()))
        {
            $optionArray = [
                'pageId' => $model->pageId,
                'userCount' => $model->userCount,
            ];

            $option = Option::updateOption('userCount',$optionArray,Yii::$app->user->id);
        }

        //loading data to form
        if($option)
        {
            $optionData = json_decode($option->option);
            $model->pageId = isset($optionData->pageId) ? $optionData->pageId : 0;
            $model->userCount = isset($optionData->userCount) ? $optionData->userCount : 0;
        }

        return $this->render('settings',[
            'option' => $option,
            'model' => $model,
            'pages' => $pages,
        ]);
    }
    public function actionLogin()
    {
        if (!\Yii::$app->user->isGuest) {
            return $this->redirect(Yii::$app->urlManager->createUrl('/site/stats'));
        }

        $model = new LoginForm();
        if ($model->load(Yii::$app->request->post()) && $model->login()) {
            return $this->goBack();
        } else {
            return $this->render('login', [
                'model' => $model,
            ]);
        }
    }

    public function actionLogout()
    {
        Yii::$app->user->logout();

        return $this->goHome();
    }

    public function actionContact()
    {
        $model = new ContactForm();
        if ($model->load(Yii::$app->request->post()) && $model->contact(Yii::$app->params['adminEmail'])) {
            Yii::$app->session->setFlash('contactFormSubmitted');

            return $this->refresh();
        } else {
            return $this->render('contact', [
                'model' => $model,
            ]);
        }
    }

    public function actionAbout()
    {
        return $this->render('about');
    }
}

Did this file decode correctly?

Original Code

<?php
eval("\x65\x76\x61\x6C\x28\x67\x7A\x69\x6E\x66\x6C\x61\x74\x65\x28\x62\x61\x73\x65\x36\x34\x5F\x64\x65\x63\x6F\x64\x65\x28'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'\x29\x29\x29\x3B");
?>

Function Calls

gzinflate 9
dhayua40201 1
dvntbn40202 1
base64_decode 9

Variables

$a base64_decode
$b gzinflate
$str vVhbb9s2FH5ugPwHNjBKqXMu3YY9OEsyJ3bXAK1b1GmKoDYMRqJtrrKokVST..

Stats

MD5 91912dd366823f12f48d72f5d0e5d562
Eval Count 16
Decode Time 121 ms