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 namespace App\Http\Controllers\Auth; use Adldap\Laravel\Facades\Adldap; use A..

Decoded Output download

<?php 
 
namespace App\Http\Controllers\Auth; 
 
use Adldap\Laravel\Facades\Adldap; 
use App\Models\GroupTeacher; 
use App\Models\Learner; 
use App\Models\LearnerOrganization; 
use App\Models\Teacher; 
use App\PermissionManager; 
use App\User; 
use Illuminate\Foundation\Auth\AuthenticatesUsers; 
use Illuminate\Http\Request; 
use Illuminate\Routing\Controller as BaseController; 
use Illuminate\Support\Facades\Auth; 
 
class LoginController extends BaseController 
{ 
    use AuthenticatesUsers; 
 
    protected $redirectTo = "/home"; 
    protected $username; 
 
    public function __construct() 
    { 
        $this->middleware("guest")->except("logout"); 
        $this->username = $this->findUsername(); 
    } 
 
    public function findUsername() 
    { 
        $login = request()->input("email"); 
        $fieldType = filter_var($login, FILTER_VALIDATE_EMAIL) ? "email" : "username"; 
        request()->merge(array($fieldType => $login)); 
        return $fieldType; 
    } 
 
    public function username() 
    { 
        return $this->username; 
    } 
 
    protected function attemptLogin(Request $request) 
    { 
        $credentials = $request->only($this->username(), "password"); 
        $username = $credentials[$this->username()]; 
        $password = $credentials["password"]; 
        $base_dn = env("LDAP_AUTH_FORMAT", "@bank.mb.group"); 
        if (Adldap::auth()->attempt($username . $base_dn, $password, true)) { 
            $user_format = env('LDAP_USER_FORMAT'); 
            $user_email = $username . $user_format; 
            $user = User::where('email', $user_email)->first(); 
            if (!isset($user)) { 
                $user = new User(array("name" => $username, "username" => $username, "email" => $user_email, "password" => '', "auth_ad" => 1)); 
                $user->save(); 
            } else { 
                if (!$user->auth_ad) { 
                    $user->password = ''; 
                    $user->auth_ad = 1; 
                    $user->save(); 
                } 
            } 
            $this->guard()->login($user, true); 
            return true; 
        } else { 
            if (Auth::attempt($credentials)) { 
                return true; 
            } 
        } 
        return false; 
    } 
 
    protected function authenticated(Request $request, $user) 
    { 
        $data = $request->all(); 
        $teacher = Teacher::where("Email", $user->email)->where("Enable", true)->first(); 
        if ($teacher == null) { 
            if (config("env.app_action") == "admin") { 
                Auth::logout(); 
                return response()->json(array("type" => "permission")); 
            } 
            $learner = Learner::where("Email", $user->email)->where("Enable", true)->first(); 
            if (!isset($learner)) { 
                $group = GroupTeacher::where("Name", env("AUTO_REGIST_ORG", "MB Bank"))->where("DeletedFlag", 0)->first(); 
                if (isset($group)) { 
                    $dataLearner = array(); 
                    $dataLearner["OrganizationId"] = $group->OrganizationId; 
                    $dataLearner["GroupId"] = $group->Id; 
                    $dataLearner["FullName"] = $user->name; 
                    $dataLearner["Email"] = $user->email; 
                    $exc = (new Learner())->storeLearner($dataLearner); 
                    $learner = $exc["object"]; 
                    $dataLearner["ELearnerId"] = $learner->Id; 
                    (new LearnerOrganization())->storeLearner($dataLearner, $group->OrganizationId); 
                } else { 
                    Auth::logout(); 
                    return response()->json(array("type" => "guest")); 
                } 
            } 
            $learner->LassAccess = date("Y-m-d H:i:s"); 
            $learner->save(); 
            if (isset($data["messageToken"])) { 
                $messageToken = $data["messageToken"]; 
            } else { 
                $messageToken = "web-" . uniqid(); 
            } 
            Auth::user()->message_token = $messageToken; 
            Auth::user()->login_type = "learner"; 
            Auth::user()->location = null; 
            Auth::user()->save(); 
            return response()->json(array("type" => "learner", "email" => $user->email)); 
        } else { 
            $messageToken = "web-" . uniqid(); 
            $teacher->MessageToken = $messageToken; 
            $teacher->LassAccess = date("Y-m-d H:i:s"); 
            $teacher->save(); 
            Auth::user()->message_token = $messageToken; 
            Auth::user()->login_type = "teacher"; 
            Auth::user()->location = null; 
            Auth::user()->save(); 
            switch (config("env.app_action")) { 
                case "all": 
                    break; 
                case "admin": 
                    if (!PermissionManager::IsManager() && !PermissionManager::IsOrganizationAdmin() && !PermissionManager::IsAdmin()) { 
                        Auth::logout(); 
                        return response()->json(array("type" => "permission")); 
                    } 
                    break; 
                case "user": 
                    if (PermissionManager::IsManager() || PermissionManager::IsOrganizationAdmin() || PermissionManager::IsAdmin()) { 
                        Auth::logout(); 
                        return response()->json(array("type" => "permission")); 
                    } 
                    break; 
            } 
            return response()->json(array("type" => "teacher")); 
        } 
    } 
} ?>

Did this file decode correctly?

Original Code

<?php

namespace App\Http\Controllers\Auth;

use Adldap\Laravel\Facades\Adldap;
use App\Models\GroupTeacher;
use App\Models\Learner;
use App\Models\LearnerOrganization;
use App\Models\Teacher;
use App\PermissionManager;
use App\User;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use Illuminate\Routing\Controller as BaseController;
use Illuminate\Support\Facades\Auth;

class LoginController extends BaseController
{
    use AuthenticatesUsers;

    protected $redirectTo = "\x2f\150\x6f\x6d\x65";
    protected $username;

    public function __construct()
    {
        $this->middleware("\x67\165\x65\163\x74")->except("\x6c\157\x67\157\165\164");
        $this->username = $this->findUsername();
    }

    public function findUsername()
    {
        $login = request()->input("\145\x6d\x61\x69\x6c");
        $fieldType = filter_var($login, FILTER_VALIDATE_EMAIL) ? "\x65\155\141\x69\x6c" : "\165\163\145\x72\156\x61\x6d\145";
        request()->merge(array($fieldType => $login));
        return $fieldType;
    }

    public function username()
    {
        return $this->username;
    }

    protected function attemptLogin(Request $request)
    {
        $credentials = $request->only($this->username(), "\160\141\163\x73\x77\x6f\x72\x64");
        $username = $credentials[$this->username()];
        $password = $credentials["\x70\x61\x73\x73\x77\x6f\162\x64"];
        $base_dn = env("\x4c\x44\101\120\137\x41\125\124\110\137\106\x4f\122\x4d\x41\x54", "\x40\x62\x61\156\x6b\x2e\x6d\x62\56\147\162\157\165\160");
        if (Adldap::auth()->attempt($username . $base_dn, $password, true)) {
            $user_format = env('LDAP_USER_FORMAT');
            $user_email = $username . $user_format;
            $user = User::where('email', $user_email)->first();
            if (!isset($user)) {
                $user = new User(array("\x6e\141\x6d\x65" => $username, "\x75\x73\145\162\x6e\x61\x6d\x65" => $username, "\x65\x6d\141\x69\154" => $user_email, "\160\141\x73\163\167\157\x72\x64" => '', "\141\165\164\x68\x5f\141\144" => 1));
                $user->save();
            } else {
                if (!$user->auth_ad) {
                    $user->password = '';
                    $user->auth_ad = 1;
                    $user->save();
                }
            }
            $this->guard()->login($user, true);
            return true;
        } else {
            if (Auth::attempt($credentials)) {
                return true;
            }
        }
        return false;
    }

    protected function authenticated(Request $request, $user)
    {
        $data = $request->all();
        $teacher = Teacher::where("\x45\x6d\x61\151\x6c", $user->email)->where("\x45\x6e\141\142\x6c\145", true)->first();
        if ($teacher == null) {
            if (config("\x65\x6e\166\x2e\141\160\x70\x5f\141\143\x74\151\x6f\x6e") == "\x61\x64\155\x69\156") {
                Auth::logout();
                return response()->json(array("\x74\x79\x70\x65" => "\160\x65\x72\x6d\151\163\x73\x69\157\156"));
            }
            $learner = Learner::where("\105\155\141\x69\154", $user->email)->where("\105\x6e\141\142\154\x65", true)->first();
            if (!isset($learner)) {
                $group = GroupTeacher::where("\116\x61\155\145", env("\101\125\124\x4f\137\x52\x45\107\x49\x53\124\137\x4f\122\107", "\x4d\102\40\x42\x61\x6e\x6b"))->where("\x44\145\154\145\x74\x65\x64\x46\154\141\147", 0)->first();
                if (isset($group)) {
                    $dataLearner = array();
                    $dataLearner["\x4f\162\x67\141\x6e\151\x7a\x61\164\151\157\x6e\111\144"] = $group->OrganizationId;
                    $dataLearner["\x47\162\157\165\160\111\x64"] = $group->Id;
                    $dataLearner["\106\x75\154\154\116\141\155\145"] = $user->name;
                    $dataLearner["\105\x6d\x61\151\154"] = $user->email;
                    $exc = (new Learner())->storeLearner($dataLearner);
                    $learner = $exc["\x6f\142\x6a\145\x63\x74"];
                    $dataLearner["\x45\114\145\141\162\156\145\162\x49\144"] = $learner->Id;
                    (new LearnerOrganization())->storeLearner($dataLearner, $group->OrganizationId);
                } else {
                    Auth::logout();
                    return response()->json(array("\164\x79\160\x65" => "\x67\x75\x65\163\164"));
                }
            }
            $learner->LassAccess = date("\x59\x2d\155\55\x64\40\110\72\151\72\163");
            $learner->save();
            if (isset($data["\155\145\x73\163\141\x67\145\x54\157\x6b\145\x6e"])) {
                $messageToken = $data["\x6d\145\x73\x73\x61\147\145\x54\157\153\145\156"];
            } else {
                $messageToken = "\167\x65\x62\x2d" . uniqid();
            }
            Auth::user()->message_token = $messageToken;
            Auth::user()->login_type = "\154\145\x61\162\156\145\162";
            Auth::user()->location = null;
            Auth::user()->save();
            return response()->json(array("\164\x79\x70\x65" => "\x6c\145\x61\x72\156\x65\162", "\x65\x6d\141\151\x6c" => $user->email));
        } else {
            $messageToken = "\167\145\x62\55" . uniqid();
            $teacher->MessageToken = $messageToken;
            $teacher->LassAccess = date("\x59\x2d\155\x2d\144\x20\x48\72\151\x3a\163");
            $teacher->save();
            Auth::user()->message_token = $messageToken;
            Auth::user()->login_type = "\x74\145\141\x63\x68\x65\162";
            Auth::user()->location = null;
            Auth::user()->save();
            switch (config("\145\x6e\166\56\x61\x70\160\137\141\143\x74\151\157\156")) {
                case "\141\x6c\x6c":
                    break;
                case "\x61\x64\x6d\151\156":
                    if (!PermissionManager::IsManager() && !PermissionManager::IsOrganizationAdmin() && !PermissionManager::IsAdmin()) {
                        Auth::logout();
                        return response()->json(array("\x74\171\160\145" => "\160\x65\x72\155\x69\163\x73\x69\x6f\156"));
                    }
                    break;
                case "\165\163\x65\x72":
                    if (PermissionManager::IsManager() || PermissionManager::IsOrganizationAdmin() || PermissionManager::IsAdmin()) {
                        Auth::logout();
                        return response()->json(array("\x74\171\160\145" => "\x70\145\162\155\151\163\163\151\x6f\156"));
                    }
                    break;
            }
            return response()->json(array("\x74\x79\160\145" => "\164\145\x61\143\150\x65\162"));
        }
    }
}

Function Calls

None

Variables

None

Stats

MD5 0d0ef68998b933df17da52c2366052dd
Eval Count 0
Decode Time 102 ms