- Full gg.deals-style UI: deal feed with filters, game pages with price history charts, rankings, vouchers, news, prepaids, subscriptions, bundles, franchises, wishlist, API docs - Real data crawlers: * gg:crawl (Steam Store API + GOG Catalog + Epic free games) * gg:catalog (252K game slugs from gg.deals sitemaps) * gg:ggdeals (per-game prices via FlareSolverr session, JSON-LD parsing) * gg:seed / gg:crawl-covers (demo seed + Steam CDN cover art) - 24/7 self-updating scheduler (scripts/scheduler_loop.php, lockfile-protected) - Tailwind v4 dark/light theme, Alpine.js, Chart.js
87 lines
2.8 KiB
PHP
87 lines
2.8 KiB
PHP
<?php
|
|
|
|
namespace Config;
|
|
|
|
use CodeIgniter\Config\BaseConfig;
|
|
|
|
class Security extends BaseConfig
|
|
{
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* CSRF Protection Method
|
|
* --------------------------------------------------------------------------
|
|
*
|
|
* Protection Method for Cross Site Request Forgery protection.
|
|
*
|
|
* @var string 'cookie' or 'session'
|
|
*/
|
|
public string $csrfProtection = 'cookie';
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* CSRF Token Randomization
|
|
* --------------------------------------------------------------------------
|
|
*
|
|
* Randomize the CSRF Token for added security.
|
|
*/
|
|
public bool $tokenRandomize = false;
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* CSRF Token Name
|
|
* --------------------------------------------------------------------------
|
|
*
|
|
* Token name for Cross Site Request Forgery protection.
|
|
*/
|
|
public string $tokenName = 'csrf_test_name';
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* CSRF Header Name
|
|
* --------------------------------------------------------------------------
|
|
*
|
|
* Header name for Cross Site Request Forgery protection.
|
|
*/
|
|
public string $headerName = 'X-CSRF-TOKEN';
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* CSRF Cookie Name
|
|
* --------------------------------------------------------------------------
|
|
*
|
|
* Cookie name for Cross Site Request Forgery protection.
|
|
*/
|
|
public string $cookieName = 'csrf_cookie_name';
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* CSRF Expires
|
|
* --------------------------------------------------------------------------
|
|
*
|
|
* Expiration time for Cross Site Request Forgery protection cookie.
|
|
*
|
|
* Defaults to two hours (in seconds).
|
|
*/
|
|
public int $expires = 7200;
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* CSRF Regenerate
|
|
* --------------------------------------------------------------------------
|
|
*
|
|
* Regenerate CSRF Token on every submission.
|
|
*/
|
|
public bool $regenerate = true;
|
|
|
|
/**
|
|
* --------------------------------------------------------------------------
|
|
* CSRF Redirect
|
|
* --------------------------------------------------------------------------
|
|
*
|
|
* Redirect to previous page with error on failure.
|
|
*
|
|
* @see https://codeigniter4.github.io/userguide/libraries/security.html#redirection-on-failure
|
|
*/
|
|
public bool $redirect = (ENVIRONMENT === 'production');
|
|
}
|