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 |
Stats
MD5 | e18d6e5544ef901afd4051ac6df274d5 |
Eval Count | 0 |
Decode Time | 97 ms |