GraphictoriaWeb/web/app/Helpers/GridHelper.php

36 lines
815 B
PHP

<?php
/*
Graphictoria 2022
JSON Pretty Printer
*/
namespace App\Helpers;
use App\Helpers\COMHelper;
use App\Models\WebsiteConfiguration;
class GridHelper
{
public static function isIpWhitelisted($request) {
$ip = $request->ip();
$whitelistedIps = explode(';', WebsiteConfiguration::where('name', 'WhitelistedIPs')->first()->value);
return in_array($ip, $whitelistedIps);
}
public static function isAccessKeyValid($request) {
$accessKey = WebsiteConfiguration::where('name', 'ComputeServiceAccessKey')->first()->value;
return ($request->header('AccessKey') == $accessKey);
}
public static function hasAllAccess($request) {
if(COMHelper::isCOM()) return true;
if(GridHelper::isIpWhitelisted($request) && GridHelper::isAccessKeyValid($request)) return true;
return false;
}
}