sdwebserver/app/Config/Security.php

104 lines
3.3 KiB
PHP
Raw Normal View History

2022-03-14 19:13:10 +01:00
<?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'
*/
2024-04-07 22:17:30 +02:00
public string $csrfProtection = 'cookie';
/**
* --------------------------------------------------------------------------
* CSRF Token Randomization
* --------------------------------------------------------------------------
*
* Randomize the CSRF Token for added security.
*/
public bool $tokenRandomize = false;
2022-03-14 19:13:10 +01:00
/**
* --------------------------------------------------------------------------
* CSRF Token Name
* --------------------------------------------------------------------------
*
* Token name for Cross Site Request Forgery protection.
*/
2024-04-07 22:17:30 +02:00
public string $tokenName = 'csrf_test_name';
2022-03-14 19:13:10 +01:00
/**
* --------------------------------------------------------------------------
* CSRF Header Name
* --------------------------------------------------------------------------
*
* Header name for Cross Site Request Forgery protection.
*/
2024-04-07 22:17:30 +02:00
public string $headerName = 'X-CSRF-TOKEN';
2022-03-14 19:13:10 +01:00
/**
* --------------------------------------------------------------------------
* CSRF Cookie Name
* --------------------------------------------------------------------------
*
* Cookie name for Cross Site Request Forgery protection.
*/
2024-04-07 22:17:30 +02:00
public string $cookieName = 'csrf_cookie_name';
2022-03-14 19:13:10 +01:00
/**
* --------------------------------------------------------------------------
* CSRF Expires
* --------------------------------------------------------------------------
*
* Expiration time for Cross Site Request Forgery protection cookie.
*
* Defaults to two hours (in seconds).
*/
2024-04-07 22:17:30 +02:00
public int $expires = 7200;
2022-03-14 19:13:10 +01:00
/**
* --------------------------------------------------------------------------
* CSRF Regenerate
* --------------------------------------------------------------------------
*
* Regenerate CSRF Token on every submission.
*/
2024-04-07 22:17:30 +02:00
public bool $regenerate = true;
2022-03-14 19:13:10 +01:00
/**
* --------------------------------------------------------------------------
* CSRF Redirect
* --------------------------------------------------------------------------
*
* Redirect to previous page with error on failure.
*
2024-04-07 22:17:30 +02:00
* @see https://codeigniter4.github.io/userguide/libraries/security.html#redirection-on-failure
2022-03-14 19:13:10 +01:00
*/
2024-04-07 22:17:30 +02:00
public bool $redirect = (ENVIRONMENT === 'production');
2022-03-14 19:13:10 +01:00
/**
* --------------------------------------------------------------------------
* 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
*
2024-04-07 22:17:30 +02:00
* @deprecated `Config\Cookie` $samesite property is used.
2022-03-14 19:13:10 +01:00
*/
2024-04-07 22:17:30 +02:00
public string $samesite = 'Lax';
2022-03-14 19:13:10 +01:00
}