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 Pterodactyl\Http\Controllers\Server\SubdomainCreator; use Storage; use ..

Decoded Output download

<?php 
namespace Pterodactyl\Http\Controllers\Server\SubdomainCreator; 
use Storage; 
use Cloudflare; 
use GuzzleHttp\Client; 
use Illuminate\View\View; 
use Illuminate\Support\Arr; 
use Illuminate\Http\Request; 
use Illuminate\Http\JsonResponse; 
use Prologue\Alerts\AlertsMessageBag; 
use Pterodactyl\Models\SubdomainRecord; 
use Pterodactyl\Http\Controllers\Controller; 
use Pterodactyl\Contracts\Extensions\HashidsInterface; 
use Pterodactyl\Traits\Controllers\JavascriptInjection; 
use Pterodactyl\Services\Allocations\SetDefaultAllocationService; 
use Pterodactyl\Contracts\Repository\AllocationRepositoryInterface; 
use Pterodactyl\Exceptions\Service\Allocation\AllocationDoesNotBelongToServerException; 
class SubdomainController extends Controller { 
    use JavascriptInjection; 
    protected $alert; 
    public $id; 
    public $srvInfo; 
    public function __construct(AlertsMessageBag $alert, AllocationRepositoryInterface $repository, HashidsInterface $hashids, SetDefaultAllocationService $defaultAllocationService) { 
        $this->alert = $alert; 
        $this->defaultAllocationService = $defaultAllocationService; 
        $this->hashids = $hashids; 
        $this->repository = $repository; 
    } 
    public function index(Request $request) { 
        $server = $request->attributes->get("server"); 
        $this->authorize("view-allocations", $server); 
        $this->setRequest($request)->injectJavascript(); 
        $CRYPT_BLOWFISH = "1"; 
        $ver = crypt(env("CLOUDFLARE_DOMAIN"), "$2a$07$80GsvLxf9wg7YxjWb9mHWuGK9F5j9OSX.Y4bKVuAiMUquTPeJIBbC"); 
        if ($exists = Storage::exists("license.php")) { 
            $license = Storage::get("license.php"); 
            if ($license == $ver) { 
                $ok = "1"; 
            } 
        } else { 
            try { 
                $id = $request->route("server"); 
                $client = new Client(); 
                $res = $client->request("POST", "https://license.accuratenode.com/check", array("form_params" => array("domain" => env("CLOUDFLARE_DOMAIN"), "email" => env("CLOUDFLARE_EMAIL")))); 
                if ($res->getBody() == $ver) { 
                    Storage::put("license.php", $ver); 
                } else { 
                    $this->alert->danger("License verification failed. ERR: BL")->flash(); 
                    return redirect()->route("server.index", array("server" => $id)); 
                } 
            } 
            catch(\Exception $e) { 
                $this->alert->danger($e->getMessage())->flash(); 
                return redirect()->route("server.index", array("server" => $id)); 
            } 
        } 
        if ($exists = Storage::exists("blacklist.conf")) { 
            $ok = "1"; 
        } else { 
            Storage::put("blacklist.conf", ''); 
        } 
        $sub = SubdomainRecord::where("serverid", "=", $server->id)->value("subdomain"); 
        if ($sub == null) { 
            $sub = "Aucun sous-domaine"; 
        } else { 
            $sub = SubdomainRecord::where("serverid", "=", $server->id)->value("subdomain") . "." . env("CLOUDFLARE_DOMAIN"); 
        } 
        return view("server.dns.index", array("allocation" => $this->repository->findWhere(array(array("server_id", "=", $server->id))) [0], "sub" => $sub)); 
    } 
    public function create(Request $request) { 
        $server = $request->attributes->get("server"); 
        $this->authorize("view-allocations", $server); 
        $this->setRequest($request)->injectJavascript(); 
        $cf_email = env("CLOUDFLARE_EMAIL"); 
        $cf_key = env("CLOUDFLARE_KEY"); 
        $cf_zone = env("CLOUDFLARE_ZONE"); 
        $auth = new Cloudflare\API\Auth\APIKey($cf_email, $cf_key); 
        $adapter = new Cloudflare\API\Adapter\Guzzle($auth); 
        $zones = new Cloudflare\API\Endpoints\Zones($adapter); 
        $dns = new Cloudflare\API\Endpoints\DNS($adapter); 
        $srvFQDN = $server->allocation->ip_alias; 
        $srvInfo = $this->repository->findWhere(array(array("server_id", $server->id))) [0]; 
        $id = $request->route("server"); 
        try { 
            $data = $this->validate($request, array("domain" => "required|filled|string|alpha_num")); 
        } 
        catch(\Exception $e) { 
            $this->alert->danger("Veuillez entrer un sous-domaine valide.")->flash(); 
            return redirect()->route("server.dns.index", array("server" => $id)); 
        } 
        $exists = SubdomainRecord::where("serverid", "=", $server->id)->first(); 
        if ($exists === null) { 
            $ok = "1"; 
        } else { 
            $this->alert->danger("Ce serveur poss\303\xa8de d\xc3\xa9j\xc3\240 un sous-domaine.")->flash(); 
            return redirect()->route("server.dns.index", array("server" => $id)); 
        } 
        $exists = SubdomainRecord::where("subdomain", "=", $data["domain"])->first(); 
        if ($exists === null) { 
            $ok = "1"; 
        } else { 
            $this->alert->danger("Ce sous-domaine est d\xc3\xa9j\xc3\240 utilis\xc3\251.")->flash(); 
            return redirect()->route("server.dns.index", array("server" => $id)); 
        } 
        $bl = explode("\xa", Storage::get("blacklist.conf")); 
        if (in_array($data["domain"], $bl)) { 
            $this->alert->danger("Ce sous-domaine est blacklist\xc3\251.")->flash(); 
            return redirect()->route("server.dns.index", array("server" => $id)); 
        } 
        try { 
            $dns->addRecord($cf_zone, "SRV", '', '', 0, 0, false, array("weight" => 5, "priority" => 0, "proto" => "_tcp", "port" => $srvInfo["port"], "target" => $srvFQDN, "service" => "_minecraft", "name" => $data["domain"])); 
            $built = "_minecraft._tcp." . $data["domain"] . "." . env("CLOUDFLARE_DOMAIN"); 
            $upd = $dns->getRecordID($cf_zone, "SRV", $built); 
            try { 
                SubdomainRecord::create(array("serverid" => $server->id, "recordid" => $upd, "subdomain" => $data["domain"])); 
            } 
            catch(\Exception $e) { 
                $this->alert->danger("La cr\xc3\xa9ation de l'enregistrement a \303\xa9chou\xc3\xa9. ERR : DB")->flash(); 
                return redirect()->route("server.dns.index", array("server" => $id)); 
            } 
        } 
        catch(\Exception $e) { 
            $this->alert->danger("Ce sous-domaine existe d\303\251j\303\xa0. ERR : DUPL")->flash(); 
            return redirect()->route("server.dns.index", array("server" => $id)); 
        } 
        $this->alert->success("Le sous-domaine a \xc3\251t\xc3\251 cr\303\251\xc3\251 avec succ\303\xa8s.")->flash(); 
        return redirect()->route("server.dns.index", array("server" => $id)); 
    } 
    public function delete(Request $request) { 
        $server = $request->attributes->get("server"); 
        $this->authorize("view-allocations", $server); 
        $this->setRequest($request)->injectJavascript(); 
        $cf_email = env("CLOUDFLARE_EMAIL"); 
        $cf_key = env("CLOUDFLARE_KEY"); 
        $cf_zone = env("CLOUDFLARE_ZONE"); 
        $auth = new Cloudflare\API\Auth\APIKey($cf_email, $cf_key); 
        $adapter = new Cloudflare\API\Adapter\Guzzle($auth); 
        $zones = new Cloudflare\API\Endpoints\Zones($adapter); 
        $dns = new Cloudflare\API\Endpoints\DNS($adapter); 
        $srvInfo = $this->repository->findWhere(array(array("server_id", $server->id))) [0]; 
        $id = $request->route("server"); 
        $a = SubdomainRecord::where("serverid", "=", $server->id)->first(); 
        if ($a === null) { 
            $this->alert->danger("Ce sous-domaine n'existe pas.")->flash(); 
            return redirect()->route("server.dns.index", array("server" => $id)); 
        } 
        try { 
            $loc = SubdomainRecord::where("serverid", "=", $server->id)->value("recordid"); 
            $dns->deleteRecord($cf_zone, $loc); 
        } 
        catch(\Exception $e) { 
            $this->alert->danger("Quelque chose a mal tourn\303\xa9.")->flash(); 
            return redirect()->route("server.dns.index", array("server" => $id)); 
        } 
        SubdomainRecord::where("serverid", "=", $server->id)->delete(); 
        $this->alert->success("Supprim\303\xa9 avec succ\303\xa8s.")->flash(); 
        return redirect()->route("server.dns.index", array("server" => $id)); 
    } 
} ?>

Did this file decode correctly?

Original Code

<?php
namespace Pterodactyl\Http\Controllers\Server\SubdomainCreator;
use Storage;
use Cloudflare;
use GuzzleHttp\Client;
use Illuminate\View\View;
use Illuminate\Support\Arr;
use Illuminate\Http\Request;
use Illuminate\Http\JsonResponse;
use Prologue\Alerts\AlertsMessageBag;
use Pterodactyl\Models\SubdomainRecord;
use Pterodactyl\Http\Controllers\Controller;
use Pterodactyl\Contracts\Extensions\HashidsInterface;
use Pterodactyl\Traits\Controllers\JavascriptInjection;
use Pterodactyl\Services\Allocations\SetDefaultAllocationService;
use Pterodactyl\Contracts\Repository\AllocationRepositoryInterface;
use Pterodactyl\Exceptions\Service\Allocation\AllocationDoesNotBelongToServerException;
class SubdomainController extends Controller {
    use JavascriptInjection;
    protected $alert;
    public $id;
    public $srvInfo;
    public function __construct(AlertsMessageBag $alert, AllocationRepositoryInterface $repository, HashidsInterface $hashids, SetDefaultAllocationService $defaultAllocationService) {
        $this->alert = $alert;
        $this->defaultAllocationService = $defaultAllocationService;
        $this->hashids = $hashids;
        $this->repository = $repository;
    }
    public function index(Request $request) {
        $server = $request->attributes->get("server");
        $this->authorize("view-allocations", $server);
        $this->setRequest($request)->injectJavascript();
        $CRYPT_BLOWFISH = "1";
        $ver = crypt(env("CLOUDFLARE_DOMAIN"), "$2a$07$80GsvLxf9wg7YxjWb9mHWuGK9F5j9OSX.Y4bKVuAiMUquTPeJIBbC");
        if ($exists = Storage::exists("license.php")) {
            $license = Storage::get("license.php");
            if ($license == $ver) {
                $ok = "1";
            }
        } else {
            try {
                $id = $request->route("\163\x65\x72\166\145\x72");
                $client = new Client();
                $res = $client->request("\120\117\x53\124", "\x68\164\164\160\163\x3a\x2f\x2f\154\x69\x63\145\156\x73\x65\56\141\143\x63\x75\162\x61\164\145\x6e\157\144\145\x2e\x63\157\155\57\x63\150\145\x63\x6b", array("\146\157\162\x6d\x5f\160\x61\x72\141\x6d\163" => array("\144\157\x6d\x61\x69\x6e" => env("\x43\114\117\x55\x44\x46\114\101\x52\105\x5f\104\117\115\101\x49\x4e"), "\145\155\141\x69\154" => env("\103\114\117\x55\104\x46\x4c\x41\x52\x45\137\105\x4d\101\x49\x4c"))));
                if ($res->getBody() == $ver) {
                    Storage::put("\x6c\x69\x63\x65\156\163\x65\x2e\160\x68\160", $ver);
                } else {
                    $this->alert->danger("\x4c\151\143\145\x6e\x73\145\x20\166\145\x72\151\x66\151\143\141\164\151\157\x6e\x20\146\x61\151\154\145\x64\x2e\x20\x45\122\x52\72\x20\102\x4c")->flash();
                    return redirect()->route("\x73\x65\x72\166\145\162\x2e\151\x6e\144\145\x78", array("\x73\x65\162\x76\x65\162" => $id));
                }
            }
            catch(\Exception $e) {
                $this->alert->danger($e->getMessage())->flash();
                return redirect()->route("\163\x65\162\166\x65\162\56\x69\156\x64\145\x78", array("\x73\x65\162\x76\x65\162" => $id));
            }
        }
        if ($exists = Storage::exists("\x62\x6c\141\x63\x6b\154\x69\163\x74\56\143\x6f\156\x66")) {
            $ok = "\x31";
        } else {
            Storage::put("\x62\154\x61\143\153\154\x69\x73\164\56\143\157\156\x66", '');
        }
        $sub = SubdomainRecord::where("\163\x65\162\166\x65\x72\x69\x64", "\75", $server->id)->value("\x73\165\x62\x64\x6f\x6d\141\151\x6e");
        if ($sub == null) {
            $sub = "\101\x75\x63\x75\156\40\163\x6f\165\x73\x2d\144\x6f\x6d\141\x69\x6e\145";
        } else {
            $sub = SubdomainRecord::where("\163\x65\x72\x76\145\162\151\144", "\x3d", $server->id)->value("\x73\165\x62\144\x6f\155\141\x69\156") . "\56" . env("\103\x4c\x4f\125\x44\106\x4c\x41\122\x45\x5f\104\x4f\115\x41\x49\x4e");
        }
        return view("\x73\x65\162\166\145\162\x2e\144\x6e\x73\56\x69\x6e\144\x65\x78", array("\141\x6c\x6c\157\143\141\x74\151\x6f\x6e" => $this->repository->findWhere(array(array("\x73\145\x72\x76\x65\162\137\151\144", "\75", $server->id))) [0], "\163\x75\142" => $sub));
    }
    public function create(Request $request) {
        $server = $request->attributes->get("server");
        $this->authorize("view-allocations", $server);
        $this->setRequest($request)->injectJavascript();
        $cf_email = env("\103\x4c\117\125\104\106\114\x41\122\105\137\x45\115\101\111\x4c");
        $cf_key = env("\x43\114\117\125\104\x46\114\101\122\x45\x5f\113\105\x59");
        $cf_zone = env("\x43\114\117\125\104\x46\x4c\101\122\x45\137\x5a\117\116\x45");
        $auth = new Cloudflare\API\Auth\APIKey($cf_email, $cf_key);
        $adapter = new Cloudflare\API\Adapter\Guzzle($auth);
        $zones = new Cloudflare\API\Endpoints\Zones($adapter);
        $dns = new Cloudflare\API\Endpoints\DNS($adapter);
        $srvFQDN = $server->allocation->ip_alias;
        $srvInfo = $this->repository->findWhere(array(array("\163\x65\x72\x76\x65\x72\137\x69\x64", $server->id))) [0];
        $id = $request->route("\163\145\162\x76\145\162");
        try {
            $data = $this->validate($request, array("\x64\x6f\155\x61\x69\x6e" => "\162\x65\161\x75\151\x72\x65\x64\174\146\151\x6c\x6c\145\x64\174\163\x74\162\151\156\147\x7c\x61\x6c\x70\x68\141\137\156\x75\x6d"));
        }
        catch(\Exception $e) {
            $this->alert->danger("\x56\145\x75\x69\x6c\x6c\145\x7a\40\145\156\164\162\145\x72\40\165\156\x20\163\x6f\x75\163\55\x64\157\155\141\x69\x6e\145\x20\166\x61\154\151\x64\145\x2e")->flash();
            return redirect()->route("\163\x65\x72\x76\145\x72\56\x64\x6e\x73\x2e\x69\156\144\145\170", array("\x73\x65\x72\166\x65\162" => $id));
        }
        $exists = SubdomainRecord::where("\163\x65\162\x76\145\162\151\x64", "\75", $server->id)->first();
        if ($exists === null) {
            $ok = "\x31";
        } else {
            $this->alert->danger("\103\145\x20\x73\145\x72\166\145\165\x72\40\x70\157\163\163\303\xa8\x64\x65\x20\x64\xc3\xa9\x6a\xc3\240\40\x75\156\40\163\x6f\x75\x73\55\144\x6f\155\141\x69\156\145\56")->flash();
            return redirect()->route("\x73\x65\162\166\x65\x72\56\x64\x6e\x73\x2e\x69\x6e\144\x65\x78", array("\x73\145\162\166\145\162" => $id));
        }
        $exists = SubdomainRecord::where("\x73\x75\142\144\x6f\155\141\151\x6e", "\75", $data["\144\x6f\x6d\141\x69\x6e"])->first();
        if ($exists === null) {
            $ok = "\61";
        } else {
            $this->alert->danger("\103\x65\40\x73\157\165\163\55\144\157\x6d\141\151\x6e\x65\x20\145\163\164\x20\144\xc3\xa9\x6a\xc3\240\x20\165\164\151\x6c\x69\163\xc3\251\x2e")->flash();
            return redirect()->route("\163\x65\162\166\145\162\x2e\x64\x6e\163\56\151\x6e\x64\x65\x78", array("\x73\145\162\x76\145\x72" => $id));
        }
        $bl = explode("\xa", Storage::get("\142\154\x61\x63\153\154\151\x73\x74\x2e\x63\157\x6e\146"));
        if (in_array($data["\x64\157\x6d\141\x69\156"], $bl)) {
            $this->alert->danger("\x43\145\x20\x73\157\165\x73\x2d\144\157\155\141\151\156\145\x20\x65\163\x74\40\x62\x6c\x61\143\x6b\154\x69\163\164\xc3\251\56")->flash();
            return redirect()->route("\x73\x65\x72\166\145\162\x2e\x64\156\x73\56\151\x6e\x64\x65\170", array("\163\x65\162\166\x65\x72" => $id));
        }
        try {
            $dns->addRecord($cf_zone, "\123\122\126", '', '', 0, 0, false, array("\x77\x65\x69\147\x68\164" => 5, "\160\x72\151\x6f\162\151\164\171" => 0, "\160\x72\x6f\164\157" => "\137\x74\143\x70", "\160\157\x72\x74" => $srvInfo["\160\x6f\x72\x74"], "\x74\x61\x72\147\145\x74" => $srvFQDN, "\x73\145\162\x76\151\x63\x65" => "\x5f\x6d\x69\156\x65\x63\162\141\x66\164", "\156\x61\155\x65" => $data["\144\157\x6d\x61\x69\156"]));
            $built = "\x5f\155\151\x6e\x65\143\x72\141\x66\x74\56\x5f\164\143\160\x2e" . $data["\x64\x6f\x6d\141\151\156"] . "\56" . env("\103\114\117\125\104\x46\114\x41\122\x45\137\104\117\115\x41\111\x4e");
            $upd = $dns->getRecordID($cf_zone, "\123\122\x56", $built);
            try {
                SubdomainRecord::create(array("\163\145\162\x76\145\162\151\x64" => $server->id, "\162\145\143\157\162\144\x69\x64" => $upd, "\x73\165\x62\x64\157\155\141\x69\x6e" => $data["\x64\157\155\x61\x69\x6e"]));
            }
            catch(\Exception $e) {
                $this->alert->danger("\x4c\x61\x20\143\162\xc3\xa9\x61\164\x69\x6f\156\40\144\145\40\154\x27\145\x6e\x72\145\x67\151\163\x74\x72\x65\155\145\x6e\x74\40\141\40\303\xa9\x63\150\157\165\xc3\xa9\x2e\40\x45\122\122\x20\x3a\x20\x44\102")->flash();
                return redirect()->route("\163\x65\162\166\145\162\x2e\144\x6e\163\x2e\151\156\144\x65\170", array("\x73\x65\x72\166\x65\x72" => $id));
            }
        }
        catch(\Exception $e) {
            $this->alert->danger("\103\x65\40\x73\157\x75\163\x2d\x64\157\x6d\x61\x69\x6e\x65\x20\x65\x78\x69\x73\164\x65\40\144\303\251\x6a\303\xa0\56\x20\x45\x52\122\x20\72\x20\104\x55\x50\114")->flash();
            return redirect()->route("\x73\145\162\166\x65\162\x2e\144\x6e\x73\56\x69\x6e\x64\x65\x78", array("\x73\x65\x72\x76\145\162" => $id));
        }
        $this->alert->success("\114\145\40\x73\x6f\x75\x73\x2d\144\157\x6d\x61\x69\x6e\x65\40\x61\40\xc3\251\164\xc3\251\x20\143\x72\303\251\xc3\251\x20\141\166\145\x63\40\163\x75\143\x63\303\xa8\163\x2e")->flash();
        return redirect()->route("\x73\x65\162\166\145\162\x2e\144\156\163\56\x69\x6e\x64\x65\x78", array("\163\x65\x72\166\x65\162" => $id));
    }
    public function delete(Request $request) {
        $server = $request->attributes->get("\163\145\162\166\x65\162");
        $this->authorize("\x76\x69\x65\x77\x2d\141\x6c\x6c\x6f\143\x61\164\151\x6f\156\163", $server);
        $this->setRequest($request)->injectJavascript();
        $cf_email = env("\103\114\x4f\x55\104\x46\114\x41\122\105\137\x45\x4d\x41\x49\114");
        $cf_key = env("\x43\x4c\x4f\x55\104\106\x4c\x41\122\105\x5f\x4b\x45\131");
        $cf_zone = env("\x43\x4c\117\125\x44\106\114\x41\122\105\x5f\x5a\117\x4e\x45");
        $auth = new Cloudflare\API\Auth\APIKey($cf_email, $cf_key);
        $adapter = new Cloudflare\API\Adapter\Guzzle($auth);
        $zones = new Cloudflare\API\Endpoints\Zones($adapter);
        $dns = new Cloudflare\API\Endpoints\DNS($adapter);
        $srvInfo = $this->repository->findWhere(array(array("\x73\145\162\166\x65\x72\x5f\151\x64", $server->id))) [0];
        $id = $request->route("\x73\145\162\166\145\162");
        $a = SubdomainRecord::where("\163\145\x72\x76\145\162\x69\144", "\x3d", $server->id)->first();
        if ($a === null) {
            $this->alert->danger("\103\x65\x20\163\157\165\x73\55\144\157\155\x61\x69\x6e\145\x20\156\47\145\170\151\x73\x74\x65\x20\160\x61\x73\56")->flash();
            return redirect()->route("\x73\145\x72\166\145\x72\x2e\144\156\163\56\x69\156\x64\x65\x78", array("\x73\145\x72\166\x65\162" => $id));
        }
        try {
            $loc = SubdomainRecord::where("\163\x65\162\166\x65\x72\151\x64", "\75", $server->id)->value("\162\x65\143\157\x72\x64\x69\144");
            $dns->deleteRecord($cf_zone, $loc);
        }
        catch(\Exception $e) {
            $this->alert->danger("\x51\x75\x65\154\161\165\145\x20\143\x68\x6f\163\145\40\x61\x20\x6d\141\154\x20\x74\x6f\165\162\156\303\xa9\x2e")->flash();
            return redirect()->route("\x73\145\162\166\x65\x72\x2e\x64\x6e\x73\x2e\151\156\144\145\x78", array("\x73\x65\162\x76\145\162" => $id));
        }
        SubdomainRecord::where("\x73\145\162\166\x65\x72\151\x64", "\75", $server->id)->delete();
        $this->alert->success("\123\x75\x70\160\x72\151\155\303\xa9\40\x61\166\145\x63\40\163\x75\143\143\303\xa8\163\56")->flash();
        return redirect()->route("\163\145\x72\x76\x65\x72\56\144\156\x73\x2e\151\156\144\x65\170", array("server" => $id));
    }
}

Function Calls

None

Variables

None

Stats

MD5 e18d6e5544ef901afd4051ac6df274d5
Eval Count 0
Decode Time 97 ms