107 lines
3.9 KiB
PHP
Executable File
107 lines
3.9 KiB
PHP
Executable File
<?php
|
|
|
|
namespace Config;
|
|
|
|
use CodeIgniter\Config\BaseConfig;
|
|
use CodeIgniter\Filters\CSRF;
|
|
use CodeIgniter\Filters\DebugToolbar;
|
|
use CodeIgniter\Filters\Honeypot;
|
|
use CodeIgniter\Filters\InvalidChars;
|
|
use CodeIgniter\Filters\SecureHeaders;
|
|
|
|
use App\Filters\AuthMVC;
|
|
use App\Filters\HttpRequestLog;
|
|
use App\Filters\CloseDbConnection;
|
|
use App\Filters\AuthClientApi;
|
|
use App\Filters\CommissionApiFilter;
|
|
use App\Filters\VerifyAppSignature;
|
|
use App\Filters\Cors;
|
|
use App\Filters\SecurityInputFilter;
|
|
use App\Filters\GlobalPostFileUploadGuard;
|
|
use App\Filters\AclFilter;
|
|
use App\Filters\RateLimitFilter;
|
|
use App\Filters\JwtApiRateLimitFilter;
|
|
use App\Filters\AuthApiRateLimitFilter;
|
|
|
|
use App\Filters\AuthJWT;
|
|
|
|
class Filters extends BaseConfig
|
|
{
|
|
/**
|
|
* Configures aliases for Filter classes to
|
|
* make reading things nicer and simpler.
|
|
*
|
|
* @var array<string, array<int, string>|string> [filter_name => classname]
|
|
* or [filter_name => [classname1, classname2, ...]]
|
|
* @phpstan-var array<string, class-string|list<class-string>>
|
|
*/
|
|
public array $aliases = [
|
|
'csrf' => CSRF::class,
|
|
'toolbar' => DebugToolbar::class,
|
|
'honeypot' => Honeypot::class,
|
|
'invalidchars' => InvalidChars::class,
|
|
'secureheaders' => SecureHeaders::class,
|
|
'authMVC' => AuthMVC::class,
|
|
'HttpRequestLog' => HttpRequestLog::class,
|
|
'authJWT' => AuthJWT::class,
|
|
'AuthClientApi' => AuthClientApi::class,
|
|
'CloseDbConnection' => CloseDbConnection::class,
|
|
'CommissionApiFilter'=> CommissionApiFilter::class,
|
|
'appSignature' => VerifyAppSignature::class,
|
|
'Cors' => Cors::class,
|
|
'SecurityInputFilter' => SecurityInputFilter::class,
|
|
'GlobalPostFileUploadGuard' => GlobalPostFileUploadGuard::class,
|
|
'AclFilter' => AclFilter::class,
|
|
'ratelimit' => RateLimitFilter::class,
|
|
'AuthApiRateLimitFilter' => AuthApiRateLimitFilter::class,
|
|
'JwtApiRateLimitFilter' => JwtApiRateLimitFilter::class,
|
|
|
|
];
|
|
|
|
/**
|
|
* List of filter aliases that are always
|
|
* applied before and after every request.
|
|
*
|
|
* @var array<string, array<string, array<string, string>>>|array<string, array<string>>
|
|
* @phpstan-var array<string, list<string>>|array<string, array<string, array<string, string>>>
|
|
*/
|
|
public array $globals = [
|
|
'before' => [
|
|
'HttpRequestLog' => ['except' => 'cli/*'],
|
|
'Cors',
|
|
'AclFilter' => ['except' => ['login', 'logout', 'auth/*', 'oauth2callback','claim-form-download', 'claims-feedback-form', 'autobookstackLogin','employeeRest/*','processjob','getCommission','downloadEmployeeEcardZip', 'downloadClaimFile/*', 'api/v1/*', 'cronCdLowBalanceAlert', 'sendCroneRemainderMail']],
|
|
'SecurityInputFilter' => ['except' => ['/client/notification/create','/ticket/crud_mail_template/*','test_mail','leads/sendMail', 'ticket/reply'] ],
|
|
'GlobalPostFileUploadGuard'
|
|
// 'csrf',
|
|
// 'invalidchars',
|
|
],
|
|
'after' => [
|
|
'CloseDbConnection',
|
|
'Cors',
|
|
// 'secureheaders',
|
|
],
|
|
];
|
|
|
|
/**
|
|
* List of filter aliases that works on a
|
|
* particular HTTP method (GET, POST, etc.).
|
|
*
|
|
* Example:
|
|
* 'post' => ['foo', 'bar']
|
|
*
|
|
* If you use this, you should disable auto-routing because auto-routing
|
|
* permits any HTTP method to access a controller. Accessing the controller
|
|
* with a method you don't expect could bypass the filter.
|
|
*/
|
|
public array $methods = [];
|
|
|
|
/**
|
|
* List of filter aliases that should run on any
|
|
* before or after URI patterns.
|
|
*
|
|
* Example:
|
|
* 'isLoggedIn' => ['before' => ['account/*', 'profiles/*']]
|
|
*/
|
|
// public array $filters = [ 'Cors' => ['before' => ['employeeRest/*']]];
|
|
}
|