|
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465 |
- <?php
-
- namespace Config;
-
- use CodeIgniter\Config\BaseConfig;
- use CodeIgniter\Session\Handlers\FileHandler;
-
- class App extends BaseConfig
- {
- /**
- * --------------------------------------------------------------------------
- * Base Site URL
- * --------------------------------------------------------------------------
- *
- * URL to your CodeIgniter root. Typically this will be your base URL,
- * WITH a trailing slash:
- *
- * http://example.com/
- *
- * If this is not set then CodeIgniter will try guess the protocol, domain
- * and path to your installation. However, you should always configure this
- * explicitly and never rely on auto-guessing, especially in production
- * environments.
- *
- * @var string
- */
- public $baseURL = 'http://localhost:8080/';
-
- /**
- * --------------------------------------------------------------------------
- * Index File
- * --------------------------------------------------------------------------
- *
- * Typically this will be your index.php file, unless you've renamed it to
- * something else. If you are using mod_rewrite to remove the page set this
- * variable so that it is blank.
- *
- * @var string
- */
- public $indexPage = '';
-
- /**
- * --------------------------------------------------------------------------
- * URI PROTOCOL
- * --------------------------------------------------------------------------
- *
- * This item determines which getServer global should be used to retrieve the
- * URI string. The default setting of 'REQUEST_URI' works for most servers.
- * If your links do not seem to work, try one of the other delicious flavors:
- *
- * 'REQUEST_URI' Uses $_SERVER['REQUEST_URI']
- * 'QUERY_STRING' Uses $_SERVER['QUERY_STRING']
- * 'PATH_INFO' Uses $_SERVER['PATH_INFO']
- *
- * WARNING: If you set this to 'PATH_INFO', URIs will always be URL-decoded!
- *
- * @var string
- */
- public $uriProtocol = 'REQUEST_URI';
-
- /**
- * --------------------------------------------------------------------------
- * Default Locale
- * --------------------------------------------------------------------------
- *
- * The Locale roughly represents the language and location that your visitor
- * is viewing the site from. It affects the language strings and other
- * strings (like currency markers, numbers, etc), that your program
- * should run under for this request.
- *
- * @var string
- */
- public $defaultLocale = 'en';
-
- /**
- * --------------------------------------------------------------------------
- * Negotiate Locale
- * --------------------------------------------------------------------------
- *
- * If true, the current Request object will automatically determine the
- * language to use based on the value of the Accept-Language header.
- *
- * If false, no automatic detection will be performed.
- *
- * @var bool
- */
- public $negotiateLocale = false;
-
- /**
- * --------------------------------------------------------------------------
- * Supported Locales
- * --------------------------------------------------------------------------
- *
- * If $negotiateLocale is true, this array lists the locales supported
- * by the application in descending order of priority. If no match is
- * found, the first locale will be used.
- *
- * @var string[]
- */
- public $supportedLocales = ['en'];
-
- /**
- * --------------------------------------------------------------------------
- * Application Timezone
- * --------------------------------------------------------------------------
- *
- * The default timezone that will be used in your application to display
- * dates with the date helper, and can be retrieved through app_timezone()
- *
- * @var string
- */
- public $appTimezone = 'America/Chicago';
-
- /**
- * --------------------------------------------------------------------------
- * Default Character Set
- * --------------------------------------------------------------------------
- *
- * This determines which character set is used by default in various methods
- * that require a character set to be provided.
- *
- * @see http://php.net/htmlspecialchars for a list of supported charsets.
- *
- * @var string
- */
- public $charset = 'UTF-8';
-
- /**
- * --------------------------------------------------------------------------
- * URI PROTOCOL
- * --------------------------------------------------------------------------
- *
- * If true, this will force every request made to this application to be
- * made via a secure connection (HTTPS). If the incoming request is not
- * secure, the user will be redirected to a secure version of the page
- * and the HTTP Strict Transport Security header will be set.
- *
- * @var bool
- */
- public $forceGlobalSecureRequests = false;
-
- /**
- * --------------------------------------------------------------------------
- * Session Driver
- * --------------------------------------------------------------------------
- *
- * The session storage driver to use:
- * - `CodeIgniter\Session\Handlers\FileHandler`
- * - `CodeIgniter\Session\Handlers\DatabaseHandler`
- * - `CodeIgniter\Session\Handlers\MemcachedHandler`
- * - `CodeIgniter\Session\Handlers\RedisHandler`
- *
- * @var string
- */
- public $sessionDriver = FileHandler::class;
-
- /**
- * --------------------------------------------------------------------------
- * Session Cookie Name
- * --------------------------------------------------------------------------
- *
- * The session cookie name, must contain only [0-9a-z_-] characters
- *
- * @var string
- */
- public $sessionCookieName = 'ci_session';
-
- /**
- * --------------------------------------------------------------------------
- * Session Expiration
- * --------------------------------------------------------------------------
- *
- * The number of SECONDS you want the session to last.
- * Setting to 0 (zero) means expire when the browser is closed.
- *
- * @var int
- */
- public $sessionExpiration = 7200;
-
- /**
- * --------------------------------------------------------------------------
- * Session Save Path
- * --------------------------------------------------------------------------
- *
- * The location to save sessions to and is driver dependent.
- *
- * For the 'files' driver, it's a path to a writable directory.
- * WARNING: Only absolute paths are supported!
- *
- * For the 'database' driver, it's a table name.
- * Please read up the manual for the format with other session drivers.
- *
- * IMPORTANT: You are REQUIRED to set a valid save path!
- *
- * @var string
- */
- public $sessionSavePath = WRITEPATH . 'session';
-
- /**
- * --------------------------------------------------------------------------
- * Session Match IP
- * --------------------------------------------------------------------------
- *
- * Whether to match the user's IP address when reading the session data.
- *
- * WARNING: If you're using the database driver, don't forget to update
- * your session table's PRIMARY KEY when changing this setting.
- *
- * @var bool
- */
- public $sessionMatchIP = false;
-
- /**
- * --------------------------------------------------------------------------
- * Session Time to Update
- * --------------------------------------------------------------------------
- *
- * How many seconds between CI regenerating the session ID.
- *
- * @var int
- */
- public $sessionTimeToUpdate = 300;
-
- /**
- * --------------------------------------------------------------------------
- * Session Regenerate Destroy
- * --------------------------------------------------------------------------
- *
- * Whether to destroy session data associated with the old session ID
- * when auto-regenerating the session ID. When set to FALSE, the data
- * will be later deleted by the garbage collector.
- *
- * @var bool
- */
- public $sessionRegenerateDestroy = false;
-
- /**
- * --------------------------------------------------------------------------
- * Cookie Prefix
- * --------------------------------------------------------------------------
- *
- * Set a cookie name prefix if you need to avoid collisions.
- *
- * @var string
- *
- * @deprecated use Config\Cookie::$prefix property instead.
- */
- public $cookiePrefix = '';
-
- /**
- * --------------------------------------------------------------------------
- * Cookie Domain
- * --------------------------------------------------------------------------
- *
- * Set to `.your-domain.com` for site-wide cookies.
- *
- * @var string
- *
- * @deprecated use Config\Cookie::$domain property instead.
- */
- public $cookieDomain = '';
-
- /**
- * --------------------------------------------------------------------------
- * Cookie Path
- * --------------------------------------------------------------------------
- *
- * Typically will be a forward slash.
- *
- * @var string
- *
- * @deprecated use Config\Cookie::$path property instead.
- */
- public $cookiePath = '/';
-
- /**
- * --------------------------------------------------------------------------
- * Cookie Secure
- * --------------------------------------------------------------------------
- *
- * Cookie will only be set if a secure HTTPS connection exists.
- *
- * @var bool
- *
- * @deprecated use Config\Cookie::$secure property instead.
- */
- public $cookieSecure = false;
-
- /**
- * --------------------------------------------------------------------------
- * Cookie HttpOnly
- * --------------------------------------------------------------------------
- *
- * Cookie will only be accessible via HTTP(S) (no JavaScript).
- *
- * @var bool
- *
- * @deprecated use Config\Cookie::$httponly property instead.
- */
- public $cookieHTTPOnly = true;
-
- /**
- * --------------------------------------------------------------------------
- * Cookie SameSite
- * --------------------------------------------------------------------------
- *
- * Configure cookie SameSite setting. Allowed values are:
- * - None
- * - Lax
- * - Strict
- * - ''
- *
- * Alternatively, you can use the constant names:
- * - `Cookie::SAMESITE_NONE`
- * - `Cookie::SAMESITE_LAX`
- * - `Cookie::SAMESITE_STRICT`
- *
- * Defaults to `Lax` for compatibility with modern browsers. Setting `''`
- * (empty string) means default SameSite attribute set by browsers (`Lax`)
- * will be set on cookies. If set to `None`, `$cookieSecure` must also be set.
- *
- * @var string|null
- *
- * @deprecated use Config\Cookie::$samesite property instead.
- */
- public $cookieSameSite = 'Lax';
-
- /**
- * --------------------------------------------------------------------------
- * Reverse Proxy IPs
- * --------------------------------------------------------------------------
- *
- * If your server is behind a reverse proxy, you must whitelist the proxy
- * IP addresses from which CodeIgniter should trust headers such as
- * HTTP_X_FORWARDED_FOR and HTTP_CLIENT_IP in order to properly identify
- * the visitor's IP address.
- *
- * You can use both an array or a comma-separated list of proxy addresses,
- * as well as specifying whole subnets. Here are a few examples:
- *
- * Comma-separated: '10.0.1.200,192.168.5.0/24'
- * Array: ['10.0.1.200', '192.168.5.0/24']
- *
- * @var string|string[]
- */
- public $proxyIPs = '';
-
- /**
- * --------------------------------------------------------------------------
- * CSRF Token Name
- * --------------------------------------------------------------------------
- *
- * The token name.
- *
- * @deprecated Use `Config\Security` $tokenName property instead of using this property.
- *
- * @var string
- */
- public $CSRFTokenName = 'csrf_test_name';
-
- /**
- * --------------------------------------------------------------------------
- * CSRF Header Name
- * --------------------------------------------------------------------------
- *
- * The header name.
- *
- * @deprecated Use `Config\Security` $headerName property instead of using this property.
- *
- * @var string
- */
- public $CSRFHeaderName = 'X-CSRF-TOKEN';
-
- /**
- * --------------------------------------------------------------------------
- * CSRF Cookie Name
- * --------------------------------------------------------------------------
- *
- * The cookie name.
- *
- * @deprecated Use `Config\Security` $cookieName property instead of using this property.
- *
- * @var string
- */
- public $CSRFCookieName = 'csrf_cookie_name';
-
- /**
- * --------------------------------------------------------------------------
- * CSRF Expire
- * --------------------------------------------------------------------------
- *
- * The number in seconds the token should expire.
- *
- * @deprecated Use `Config\Security` $expire property instead of using this property.
- *
- * @var int
- */
- public $CSRFExpire = 7200;
-
- /**
- * --------------------------------------------------------------------------
- * CSRF Regenerate
- * --------------------------------------------------------------------------
- *
- * Regenerate token on every submission?
- *
- * @deprecated Use `Config\Security` $regenerate property instead of using this property.
- *
- * @var bool
- */
- public $CSRFRegenerate = true;
-
- /**
- * --------------------------------------------------------------------------
- * CSRF Redirect
- * --------------------------------------------------------------------------
- *
- * Redirect to previous page with error on failure?
- *
- * @deprecated Use `Config\Security` $redirect property instead of using this property.
- *
- * @var bool
- */
- public $CSRFRedirect = true;
-
- /**
- * --------------------------------------------------------------------------
- * CSRF SameSite
- * --------------------------------------------------------------------------
- *
- * Setting for CSRF SameSite cookie token. Allowed values are:
- * - None
- * - Lax
- * - Strict
- * - ''
- *
- * Defaults to `Lax` as recommended in this link:
- *
- * @see https://portswigger.net/web-security/csrf/samesite-cookies
- * @deprecated `Config\Cookie` $samesite property is used.
- *
- * @var string
- */
- public $CSRFSameSite = 'Lax';
-
- /**
- * --------------------------------------------------------------------------
- * Content Security Policy
- * --------------------------------------------------------------------------
- *
- * Enables the Response's Content Secure Policy to restrict the sources that
- * can be used for images, scripts, CSS files, audio, video, etc. If enabled,
- * the Response object will populate default values for the policy from the
- * `ContentSecurityPolicy.php` file. Controllers can always add to those
- * restrictions at run time.
- *
- * For a better understanding of CSP, see these documents:
- *
- * @see http://www.html5rocks.com/en/tutorials/security/content-security-policy/
- * @see http://www.w3.org/TR/CSP/
- *
- * @var bool
- */
- public $CSPEnabled = false;
- }
|