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(base64_decode('PD9waHAKIAoKbmFtZXNwYWNlIGFwcFxodHRwOwp1c2UgSWxsdW1pbmF0ZVxDb25z..
Decoded Output download
<?php
namespace app\http;
use Illuminate\Console\Scheduling\Schedule;
class Kernel extends \Illuminate\Foundation\Http\Kernel
{
protected $commands = [
\App\Console\Commands\InstallApp::class,
];
protected $middleware = ['\App\Http\Middleware\TrackInstallation','App\Http\Middleware\LicenseValidation', 'App\Http\Middleware\TrustProxies', 'App\Http\Middleware\CheckForMaintenanceMode', 'Illuminate\Foundation\Http\Middleware\ValidatePostSize', 'App\Http\Middleware\TrimStrings', 'Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull', 'App\Http\Middleware\WhiteListMiddleware', 'App\Http\Middleware\BlackListMiddleware', 'App\Http\Middleware\UsingProxy'];
protected $middlewareGroups = [
'web' => ['App\Http\Middleware\EncryptCookies', 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', 'Illuminate\Session\Middleware\StartSession', 'Illuminate\View\Middleware\ShareErrorsFromSession', 'App\Http\Middleware\VerifyCsrfToken', 'Illuminate\Routing\Middleware\SubstituteBindings'],
'api' => ['throttle:60,1', 'bindings']
];
protected $routeMiddleware = [
'auth' => 'App\Http\Middleware\Authenticate',
'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
'bindings' => 'Illuminate\Routing\Middleware\SubstituteBindings',
'cache.headers' => 'Illuminate\Http\Middleware\SetCacheHeaders',
'can' => 'Illuminate\Auth\Middleware\Authorize',
'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
'signed' => 'Illuminate\Routing\Middleware\ValidateSignature',
'throttle' => 'Illuminate\Routing\Middleware\ThrottleRequests',
'verified' => 'Illuminate\Auth\Middleware\EnsureEmailIsVerified',
'logined' => 'App\Http\Middleware\checkRregister',
'notLogined' => 'App\Http\Middleware\notLogined',
'checkLicense' => 'App\Http\Middleware\checkLicense',
'checkReseller' => 'App\Http\Middleware\checkReseller',
'checkResellerLicense' => 'App\Http\Middleware\checkResellerLicense',
'globalReseller' => 'App\Http\Middleware\globalReseller',
'apichecker' => 'App\Http\Middleware\apichecker',
'checkWhmcs' => 'App\Http\Middleware\checkWhmcs',
'is_admin' => 'App\Http\Middleware\IsAdminMiddleware',
'ownercheck' => 'App\Http\Middleware\LicenseOwnershipCheck', // Add this line
'license.valid' => 'App\Http\Middleware\LicenseValidation',
'track.installation' => 'App\Http\Middleware\TrackInstallation',
];
protected $middlewarePriority = ['Illuminate\Session\Middleware\StartSession', 'Illuminate\View\Middleware\ShareErrorsFromSession', 'App\Http\Middleware\Authenticate', 'Illuminate\Session\Middleware\AuthenticateSession', 'Illuminate\Routing\Middleware\SubstituteBindings', 'Illuminate\Auth\Middleware\Authorize'];
protected function schedule(Schedule $schedule)
{
// Define a task to run every day (adjust the frequency as needed)
$schedule->call(function () {
// Find licenses that are about to expire (e.g., within 1 day)
$licenses = \App\License::where('end_at', '<=', now()->addDay())
->where('auto_renew', 1)
->get();
foreach ($licenses as $license) {
// Check if the reseller's balance is sufficient
$reseller = \App\Reseller::find($license->reseller_id);
$software = \App\Software::find($license->software_id);
$price = $software->price_reseller;
$month = 1; // Adjust the renewal period as needed
if ($reseller->balance >= $price * $month) {
// Deduct the renewal cost from the reseller's balance
$reseller->balance -= $price * $month;
$reseller->save();
// Renew the license by extending the end date
$newEndDate = $license->end_at->addMonths($month);
$license->end_at = $newEndDate;
$license->save();
}
}
})->daily();
}
}
?>
Did this file decode correctly?
Original Code
<?php eval(base64_decode('PD9waHAKIAoKbmFtZXNwYWNlIGFwcFxodHRwOwp1c2UgSWxsdW1pbmF0ZVxDb25zb2xlXFNjaGVkdWxpbmdcU2NoZWR1bGU7CgpjbGFzcyBLZXJuZWwgZXh0ZW5kcyBcSWxsdW1pbmF0ZVxGb3VuZGF0aW9uXEh0dHBcS2VybmVsCnsKICAgIAogICAgCiAgICAKICAgIHByb3RlY3RlZCAkY29tbWFuZHMgPSBbCiAgICAgICAgXEFwcFxDb25zb2xlXENvbW1hbmRzXEluc3RhbGxBcHA6OmNsYXNzLAogICAgXTsKCglwcm90ZWN0ZWQgJG1pZGRsZXdhcmUgPSBbJ1xBcHBcSHR0cFxNaWRkbGV3YXJlXFRyYWNrSW5zdGFsbGF0aW9uJywnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxMaWNlbnNlVmFsaWRhdGlvbicsICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXFRydXN0UHJveGllcycsICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXENoZWNrRm9yTWFpbnRlbmFuY2VNb2RlJywgJ0lsbHVtaW5hdGVcXEZvdW5kYXRpb25cXEh0dHBcXE1pZGRsZXdhcmVcXFZhbGlkYXRlUG9zdFNpemUnLCAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxUcmltU3RyaW5ncycsICdJbGx1bWluYXRlXFxGb3VuZGF0aW9uXFxIdHRwXFxNaWRkbGV3YXJlXFxDb252ZXJ0RW1wdHlTdHJpbmdzVG9OdWxsJywgJ0FwcFxcSHR0cFxcTWlkZGxld2FyZVxcV2hpdGVMaXN0TWlkZGxld2FyZScsICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXEJsYWNrTGlzdE1pZGRsZXdhcmUnLCAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxVc2luZ1Byb3h5J107Cglwcm90ZWN0ZWQgJG1pZGRsZXdhcmVHcm91cHMgPSBbCgkJJ3dlYicgPT4gWydBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXEVuY3J5cHRDb29raWVzJywgJ0lsbHVtaW5hdGVcXENvb2tpZVxcTWlkZGxld2FyZVxcQWRkUXVldWVkQ29va2llc1RvUmVzcG9uc2UnLCAnSWxsdW1pbmF0ZVxcU2Vzc2lvblxcTWlkZGxld2FyZVxcU3RhcnRTZXNzaW9uJywgJ0lsbHVtaW5hdGVcXFZpZXdcXE1pZGRsZXdhcmVcXFNoYXJlRXJyb3JzRnJvbVNlc3Npb24nLCAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxWZXJpZnlDc3JmVG9rZW4nLCAnSWxsdW1pbmF0ZVxcUm91dGluZ1xcTWlkZGxld2FyZVxcU3Vic3RpdHV0ZUJpbmRpbmdzJ10sCgkJJ2FwaScgPT4gWyd0aHJvdHRsZTo2MCwxJywgJ2JpbmRpbmdzJ10KCV07CiAgICAgICAgcHJvdGVjdGVkICRyb3V0ZU1pZGRsZXdhcmUgPSBbCiAgICAgICAgICAgICdhdXRoJyA9PiAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxBdXRoZW50aWNhdGUnLAogICAgICAgICAgICAnYXV0aC5iYXNpYycgPT4gJ0lsbHVtaW5hdGVcXEF1dGhcXE1pZGRsZXdhcmVcXEF1dGhlbnRpY2F0ZVdpdGhCYXNpY0F1dGgnLAogICAgICAgICAgICAnYmluZGluZ3MnID0+ICdJbGx1bWluYXRlXFxSb3V0aW5nXFxNaWRkbGV3YXJlXFxTdWJzdGl0dXRlQmluZGluZ3MnLAogICAgICAgICAgICAnY2FjaGUuaGVhZGVycycgPT4gJ0lsbHVtaW5hdGVcXEh0dHBcXE1pZGRsZXdhcmVcXFNldENhY2hlSGVhZGVycycsCiAgICAgICAgICAgICdjYW4nID0+ICdJbGx1bWluYXRlXFxBdXRoXFxNaWRkbGV3YXJlXFxBdXRob3JpemUnLAogICAgICAgICAgICAnZ3Vlc3QnID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXFJlZGlyZWN0SWZBdXRoZW50aWNhdGVkJywKICAgICAgICAgICAgJ3NpZ25lZCcgPT4gJ0lsbHVtaW5hdGVcXFJvdXRpbmdcXE1pZGRsZXdhcmVcXFZhbGlkYXRlU2lnbmF0dXJlJywKICAgICAgICAgICAgJ3Rocm90dGxlJyA9PiAnSWxsdW1pbmF0ZVxcUm91dGluZ1xcTWlkZGxld2FyZVxcVGhyb3R0bGVSZXF1ZXN0cycsCiAgICAgICAgICAgICd2ZXJpZmllZCcgPT4gJ0lsbHVtaW5hdGVcXEF1dGhcXE1pZGRsZXdhcmVcXEVuc3VyZUVtYWlsSXNWZXJpZmllZCcsCiAgICAgICAgICAgICdsb2dpbmVkJyA9PiAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxjaGVja1JyZWdpc3RlcicsCiAgICAgICAgICAgICdub3RMb2dpbmVkJyA9PiAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxub3RMb2dpbmVkJywKICAgICAgICAgICAgJ2NoZWNrTGljZW5zZScgPT4gJ0FwcFxcSHR0cFxcTWlkZGxld2FyZVxcY2hlY2tMaWNlbnNlJywKICAgICAgICAgICAgJ2NoZWNrUmVzZWxsZXInID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXGNoZWNrUmVzZWxsZXInLAogICAgICAgICAgICAnY2hlY2tSZXNlbGxlckxpY2Vuc2UnID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXGNoZWNrUmVzZWxsZXJMaWNlbnNlJywKICAgICAgICAgICAgJ2dsb2JhbFJlc2VsbGVyJyA9PiAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxnbG9iYWxSZXNlbGxlcicsCiAgICAgICAgICAgICdhcGljaGVja2VyJyA9PiAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxhcGljaGVja2VyJywKICAgICAgICAgICAgJ2NoZWNrV2htY3MnID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXGNoZWNrV2htY3MnLAogICAgICAgICAgICAnaXNfYWRtaW4nID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXElzQWRtaW5NaWRkbGV3YXJlJywKICAgICAgICAgICAgJ293bmVyY2hlY2snID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXExpY2Vuc2VPd25lcnNoaXBDaGVjaycsIC8vIEFkZCB0aGlzIGxpbmUKICAgICAgICAgICAgJ2xpY2Vuc2UudmFsaWQnID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXExpY2Vuc2VWYWxpZGF0aW9uJywgCiAgICAgICAgICAgICd0cmFjay5pbnN0YWxsYXRpb24nID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXFRyYWNrSW5zdGFsbGF0aW9uJywKICAgICAgICBdOwoKCXByb3RlY3RlZCAkbWlkZGxld2FyZVByaW9yaXR5ID0gWydJbGx1bWluYXRlXFxTZXNzaW9uXFxNaWRkbGV3YXJlXFxTdGFydFNlc3Npb24nLCAnSWxsdW1pbmF0ZVxcVmlld1xcTWlkZGxld2FyZVxcU2hhcmVFcnJvcnNGcm9tU2Vzc2lvbicsICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXEF1dGhlbnRpY2F0ZScsICdJbGx1bWluYXRlXFxTZXNzaW9uXFxNaWRkbGV3YXJlXFxBdXRoZW50aWNhdGVTZXNzaW9uJywgJ0lsbHVtaW5hdGVcXFJvdXRpbmdcXE1pZGRsZXdhcmVcXFN1YnN0aXR1dGVCaW5kaW5ncycsICdJbGx1bWluYXRlXFxBdXRoXFxNaWRkbGV3YXJlXFxBdXRob3JpemUnXTsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzY2hlZHVsZShTY2hlZHVsZSAkc2NoZWR1bGUpCiAgICB7CiAgICAgICAgLy8gRGVmaW5lIGEgdGFzayB0byBydW4gZXZlcnkgZGF5IChhZGp1c3QgdGhlIGZyZXF1ZW5jeSBhcyBuZWVkZWQpCiAgICAgICAgJHNjaGVkdWxlLT5jYWxsKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgLy8gRmluZCBsaWNlbnNlcyB0aGF0IGFyZSBhYm91dCB0byBleHBpcmUgKGUuZy4sIHdpdGhpbiAxIGRheSkKICAgICAgICAgICAgJGxpY2Vuc2VzID0gXEFwcFxMaWNlbnNlOjp3aGVyZSgnZW5kX2F0JywgJzw9Jywgbm93KCktPmFkZERheSgpKQogICAgICAgICAgICAgICAgLT53aGVyZSgnYXV0b19yZW5ldycsIDEpCiAgICAgICAgICAgICAgICAtPmdldCgpOwoKICAgICAgICAgICAgZm9yZWFjaCAoJGxpY2Vuc2VzIGFzICRsaWNlbnNlKSB7CiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgcmVzZWxsZXIncyBiYWxhbmNlIGlzIHN1ZmZpY2llbnQKICAgICAgICAgICAgICAgICRyZXNlbGxlciA9IFxBcHBcUmVzZWxsZXI6OmZpbmQoJGxpY2Vuc2UtPnJlc2VsbGVyX2lkKTsKICAgICAgICAgICAgICAgICRzb2Z0d2FyZSA9IFxBcHBcU29mdHdhcmU6OmZpbmQoJGxpY2Vuc2UtPnNvZnR3YXJlX2lkKTsKICAgICAgICAgICAgICAgICRwcmljZSA9ICRzb2Z0d2FyZS0+cHJpY2VfcmVzZWxsZXI7CiAgICAgICAgICAgICAgICAkbW9udGggPSAxOyAvLyBBZGp1c3QgdGhlIHJlbmV3YWwgcGVyaW9kIGFzIG5lZWRlZAoKICAgICAgICAgICAgICAgIGlmICgkcmVzZWxsZXItPmJhbGFuY2UgPj0gJHByaWNlICogJG1vbnRoKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gRGVkdWN0IHRoZSByZW5ld2FsIGNvc3QgZnJvbSB0aGUgcmVzZWxsZXIncyBiYWxhbmNlCiAgICAgICAgICAgICAgICAgICAgJHJlc2VsbGVyLT5iYWxhbmNlIC09ICRwcmljZSAqICRtb250aDsKICAgICAgICAgICAgICAgICAgICAkcmVzZWxsZXItPnNhdmUoKTsKCiAgICAgICAgICAgICAgICAgICAgLy8gUmVuZXcgdGhlIGxpY2Vuc2UgYnkgZXh0ZW5kaW5nIHRoZSBlbmQgZGF0ZQogICAgICAgICAgICAgICAgICAgICRuZXdFbmREYXRlID0gJGxpY2Vuc2UtPmVuZF9hdC0+YWRkTW9udGhzKCRtb250aCk7CiAgICAgICAgICAgICAgICAgICAgJGxpY2Vuc2UtPmVuZF9hdCA9ICRuZXdFbmREYXRlOwogICAgICAgICAgICAgICAgICAgICRsaWNlbnNlLT5zYXZlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KS0+ZGFpbHkoKTsKICAgIH0KCn0KCj8+')); ?>
Function Calls
base64_decode | 1 |
Stats
MD5 | b6d082fdc6253593314dfaec5db6a41e |
Eval Count | 1 |
Decode Time | 157 ms |