1
0
mirror of https://github.com/e107inc/e107.git synced 2025-07-17 21:11:18 +02:00

Issue #1245, #1523 Possible fix for servers using memcache as a session handler.

This commit is contained in:
Cameron
2017-01-12 12:06:25 -08:00
parent 61937c5717
commit e2bc81f654
2 changed files with 14 additions and 6 deletions

View File

@@ -61,9 +61,11 @@ $security_risks = array(
} }
} }
$sessionSaveMethod = ini_get('session.save_handler');
if($sessionSavePath = ini_get('session.save_path')) if($sessionSavePath = ini_get('session.save_path'))
{ {
if(!is_writable($sessionSavePath)) if(!is_writable($sessionSavePath) && $sessionSaveMethod === 'files')
{ {
$mes->addError("<b>session.save_path</b> is not writable! That can cause major issues with your site."); $mes->addError("<b>session.save_path</b> is not writable! That can cause major issues with your site.");
} }

View File

@@ -203,8 +203,14 @@ class e_session
if(!defined('E107_INSTALL')) if(!defined('E107_INSTALL'))
{ {
$systemSaveMethod = ini_get('session.save_handler');
e107::getDebug()->log("Save Method:".$systemSaveMethod);
$saveMethod = (!empty($systemSaveMethod)) ? $systemSaveMethod : 'files';
$config['SavePath'] = e107::getPref('session_save_path', false); // FIXME - new pref $config['SavePath'] = e107::getPref('session_save_path', false); // FIXME - new pref
$config['SaveMethod'] = e107::getPref('session_save_method', 'files'); // FIXME - new pref $config['SaveMethod'] = e107::getPref('session_save_method', $saveMethod); // FIXME - new pref
$options['lifetime'] = (integer) e107::getPref('session_lifetime', 86400); // $options['lifetime'] = (integer) e107::getPref('session_lifetime', 86400); //
$options['path'] = e107::getPref('session_cookie_path', ''); // FIXME - new pref $options['path'] = e107::getPref('session_cookie_path', ''); // FIXME - new pref
$options['secure'] = e107::getPref('ssl_enabled', false); // $options['secure'] = e107::getPref('ssl_enabled', false); //
@@ -458,7 +464,7 @@ class e_session
default: default:
if(!isset($_SESSION)) if(!isset($_SESSION))
{ {
session_module_name('files'); session_module_name($this->_sessionSaveMethod);
} }
break; break;
} }
@@ -887,11 +893,11 @@ class e_core_session extends e_session
// $details .= print_r($_POST,true); // $details .= print_r($_POST,true);
// $details .= "\n_GET:\n"; // $details .= "\n_GET:\n";
// $details .= print_r($_GET,true); // $details .= print_r($_GET,true);
if($pref['plug_installed']) /* if($pref['plug_installed'])
{ {
$details .= "\nPlugins:\n"; $details .= "\nPlugins:\n";
$details .= print_r($pref['plug_installed'],true); $details .= print_r($pref['plug_installed'],true);
} }*/
$details .= "die = ".($die == true ? 'true' : 'false')."\n\n---------------------------------\n\n"; $details .= "die = ".($die == true ? 'true' : 'false')."\n\n---------------------------------\n\n";