diff --git a/core/install/resources/classes/install.php b/core/install/resources/classes/install.php index 221d7b4c38..5c9087cd60 100644 --- a/core/install/resources/classes/install.php +++ b/core/install/resources/classes/install.php @@ -126,6 +126,11 @@ $conf .= "php.dir = ".$php_dir."\n"; $conf .= "php.bin = php\n"; $conf .= "\n"; + $conf .= "#session settings\n"; + $conf .= "session.cookie_httponly = true\n"; + $conf .= "session.cookie_secure = true\n"; + $conf .= "session.cookie_samesite = Lax\n"; + $conf .= "\n"; $conf .= "#cache settings\n"; $conf .= "cache.method = file\n"; $conf .= "cache.location = ".$cache_location."\n"; diff --git a/core/upgrade/upgrade.php b/core/upgrade/upgrade.php index 06809178bb..8aff8e1200 100644 --- a/core/upgrade/upgrade.php +++ b/core/upgrade/upgrade.php @@ -112,6 +112,11 @@ $conf .= "php.dir = ".$php_dir."\n"; $conf .= "php.bin = php\n"; $conf .= "\n"; + $conf .= "#session settings\n"; + $conf .= "session.cookie_httponly = true\n"; + $conf .= "session.cookie_secure = true\n"; + $conf .= "session.cookie_samesite = Lax\n"; + $conf .= "\n"; $conf .= "#cache settings\n"; $conf .= "cache.method = file\n"; $conf .= "cache.location = ".$cache_location."\n"; diff --git a/core/upgrade/upgrade_menu.php b/core/upgrade/upgrade_menu.php index 05eb1f6f52..2e2a784ed0 100644 --- a/core/upgrade/upgrade_menu.php +++ b/core/upgrade/upgrade_menu.php @@ -534,6 +534,11 @@ function load_config_php() { $conf .= "php.dir = " . PHP_BINDIR . "\n"; $conf .= "php.bin = php\n"; $conf .= "\n"; + $conf .= "#session settings\n"; + $conf .= "session.cookie_httponly = true\n"; + $conf .= "session.cookie_secure = true\n"; + $conf .= "session.cookie_samesite = Lax\n"; + $conf .= "\n"; $conf .= "#cache settings\n"; $conf .= "cache.method = file\n"; $conf .= "cache.location = /var/cache/fusionpbx\n"; diff --git a/resources/require.php b/resources/require.php index 855be2329c..71f46666b1 100644 --- a/resources/require.php +++ b/resources/require.php @@ -91,9 +91,9 @@ //start the session if not using the command line global $no_session; if (!defined('STDIN') && empty($no_session)) { - ini_set('session.cookie_httponly', 'true'); - ini_set('session.cookie_secure', 'true'); - ini_set('session.cookie_samesite', 'Lax'); + ini_set('session.cookie_httponly', !isset($conf['session.cookie_httponly']) ? 'true' : (!empty($config->get('session.cookie_httponly')) ? 'true' : 'false')); + ini_set('session.cookie_secure', !isset($conf['session.cookie_secure']) ? 'true' : (!empty($config->get('session.cookie_secure')) ? 'true' : 'false')); + ini_set('session.cookie_samesite', $config->get('session.cookie_samesite', 'Lax')); session_start(); }