diff --git a/lam/lib/security.inc b/lam/lib/security.inc index 3c6d760be..ba493e04c 100644 --- a/lam/lib/security.inc +++ b/lam/lib/security.inc @@ -64,7 +64,7 @@ function startSecureSession($redirectToLogin = true, $initSecureData = false) { if (isset($_SESSION)) { unset($_SESSION); } - if (strtolower(session_module_name()) == 'files') { + if (isFileBasedSession()) { $sessionDir = dirname(__FILE__) . "/../sess"; session_save_path($sessionDir); // enable garbage collection (fix for Debian based systems) @@ -121,6 +121,15 @@ function startSecureSession($redirectToLogin = true, $initSecureData = false) { return true; } +/** + * Returns if the session uses files storage. + * + * @return bool file based session + */ +function isFileBasedSession(): bool { + return ((session_module_name() !== false) && (strtolower(session_module_name()) === 'files')); +} + /** * Checks if the client's IP address is on the list of allowed IPs. * The script is stopped if the host is not valid. diff --git a/lam/templates/config/confImportExport.php b/lam/templates/config/confImportExport.php index 1de4b4d5c..ac51aed91 100644 --- a/lam/templates/config/confImportExport.php +++ b/lam/templates/config/confImportExport.php @@ -50,7 +50,7 @@ use ZipArchive; include_once('../../lib/persistence.inc'); // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path("../../sess"); } lam_start_session(); diff --git a/lam/templates/config/conflogin.php b/lam/templates/config/conflogin.php index 737233e33..f1aae38a0 100644 --- a/lam/templates/config/conflogin.php +++ b/lam/templates/config/conflogin.php @@ -48,7 +48,7 @@ include_once('../../lib/config.inc'); include_once('../../lib/status.inc'); // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path(dirname(__FILE__) . '/../../sess'); } lam_start_session(); diff --git a/lam/templates/config/confmain.php b/lam/templates/config/confmain.php index bec1eab86..0eb8a6c34 100644 --- a/lam/templates/config/confmain.php +++ b/lam/templates/config/confmain.php @@ -65,7 +65,7 @@ include_once __DIR__ . '/../../lib/2factor.inc'; include_once __DIR__ . '/../../lib/configPages.inc'; // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path("../../sess"); } lam_start_session(); diff --git a/lam/templates/config/confmodules.php b/lam/templates/config/confmodules.php index 090cca951..dd11c32c9 100644 --- a/lam/templates/config/confmodules.php +++ b/lam/templates/config/confmodules.php @@ -50,7 +50,7 @@ include_once('../../lib/modules.inc'); include_once '../../lib/configPages.inc'; // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path("../../sess"); } lam_start_session(); diff --git a/lam/templates/config/confsave.php b/lam/templates/config/confsave.php index 5b8ef87b7..ae059a667 100644 --- a/lam/templates/config/confsave.php +++ b/lam/templates/config/confsave.php @@ -42,7 +42,7 @@ include_once(__DIR__ . "/../../lib/config.inc"); include_once(__DIR__ . "/../../lib/modules.inc"); // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path("../../sess"); } lam_start_session(); diff --git a/lam/templates/config/conftypes.php b/lam/templates/config/conftypes.php index bd94989d8..cb078210f 100644 --- a/lam/templates/config/conftypes.php +++ b/lam/templates/config/conftypes.php @@ -49,7 +49,7 @@ include_once '../../lib/types.inc'; include_once '../../lib/configPages.inc'; // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path("../../sess"); } lam_start_session(); diff --git a/lam/templates/config/index.php b/lam/templates/config/index.php index 165444345..0704ab6d3 100644 --- a/lam/templates/config/index.php +++ b/lam/templates/config/index.php @@ -36,7 +36,7 @@ use htmlResponsiveRow; include_once('../../lib/config.inc'); // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path("../../sess"); } lam_start_session(); diff --git a/lam/templates/config/mainlogin.php b/lam/templates/config/mainlogin.php index 53db16b34..ad57e3508 100644 --- a/lam/templates/config/mainlogin.php +++ b/lam/templates/config/mainlogin.php @@ -38,7 +38,7 @@ if (isLAMProVersion()) { } // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path(dirname(__FILE__) . '/../../sess'); } lam_start_session(); diff --git a/lam/templates/config/mainmanage.php b/lam/templates/config/mainmanage.php index 6f0316e30..3a8a5b7de 100644 --- a/lam/templates/config/mainmanage.php +++ b/lam/templates/config/mainmanage.php @@ -66,7 +66,7 @@ include_once('../../lib/status.inc'); include_once('../../lib/selfService.inc'); // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path("../../sess"); } lam_start_session(); diff --git a/lam/templates/config/moduleSettings.php b/lam/templates/config/moduleSettings.php index 555f26654..f2abc9a12 100644 --- a/lam/templates/config/moduleSettings.php +++ b/lam/templates/config/moduleSettings.php @@ -44,7 +44,7 @@ include_once('../../lib/types.inc'); include_once '../../lib/configPages.inc'; // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path("../../sess"); } lam_start_session(); diff --git a/lam/templates/config/profmanage.php b/lam/templates/config/profmanage.php index 9cd01d018..852d09430 100644 --- a/lam/templates/config/profmanage.php +++ b/lam/templates/config/profmanage.php @@ -52,7 +52,7 @@ include_once('../../lib/config.inc'); include_once('../../lib/status.inc'); // start session -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path("../../sess"); } lam_start_session(); diff --git a/lam/templates/help.php b/lam/templates/help.php index 69d8c740a..b286b23c0 100644 --- a/lam/templates/help.php +++ b/lam/templates/help.php @@ -46,7 +46,7 @@ if (!empty($_GET['selfService']) && ($_GET['selfService'] === '1')) { session_name('SELFSERVICE'); } -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path("../sess"); } lam_start_session(); diff --git a/lam/templates/lib/141_jquery-validationEngine-lang.php b/lam/templates/lib/141_jquery-validationEngine-lang.php index f90406eaf..bb8662852 100644 --- a/lam/templates/lib/141_jquery-validationEngine-lang.php +++ b/lam/templates/lib/141_jquery-validationEngine-lang.php @@ -25,7 +25,7 @@ include_once(__DIR__ . "/../../lib/config.inc"); // Include config.inc which provides Config class // set session save path -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path(dirname(__FILE__) . '/../../sess'); } diff --git a/lam/templates/login.php b/lam/templates/login.php index d8feade05..842c16fa8 100644 --- a/lam/templates/login.php +++ b/lam/templates/login.php @@ -67,7 +67,7 @@ if (isLAMProVersion()) { } // set session save path -if (strtolower(session_module_name()) == 'files') { +if (isFileBasedSession()) { session_save_path(dirname(__FILE__) . '/../sess'); } diff --git a/phpstan.neon b/phpstan.neon index 6dd2bd670..855b82a80 100644 --- a/phpstan.neon +++ b/phpstan.neon @@ -1,5 +1,5 @@ parameters: - level: 6 + level: 7 scanDirectories: - lam/lib - lam/templates