X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fsession.php;h=af871b28a1d8467b9ebb4f87ad1131f4cf424804;hb=e40c3a9d7c980c4287c273bc12d934ceb8b55fc0;hp=8aca6cb53d356c37d294e14d8d0e968f93c7021c;hpb=63610c7b73fcaf862adbf880d4968dd2b1678d9b;p=friendica.git diff --git a/include/session.php b/include/session.php index 8aca6cb53d..af871b28a1 100644 --- a/include/session.php +++ b/include/session.php @@ -2,6 +2,8 @@ // Session management functions. These provide database storage of PHP // session info. +use Friendica\Core\Config; + require_once('include/cache.php'); $session_exists = 0; @@ -30,7 +32,7 @@ function ref_session_read($id) { $r = q("SELECT `data` FROM `session` WHERE `sid`= '%s'", dbesc($id)); - if(dbm::is_result($r)) { + if (dbm::is_result($r)) { $session_exists = true; return $r[0]['data']; } else { @@ -64,8 +66,9 @@ function ref_session_write($id, $data) { $default_expire = time() + 300; $memcache = cache::memcache(); - if (is_object($memcache)) { - $memcache->set(get_app()->get_hostname().":session:".$id, $data, MEMCACHE_COMPRESSED, $expire); + $a = get_app(); + if (is_object($memcache) && is_object($a)) { + $memcache->set($a->get_hostname().":session:".$id, $data, MEMCACHE_COMPRESSED, $expire); return true; } @@ -113,6 +116,10 @@ ini_set('session.gc_probability', $gc_probability); ini_set('session.use_only_cookies', 1); ini_set('session.cookie_httponly', 1); +if (Config::get('system', 'ssl_policy') == SSL_POLICY_FULL) { + ini_set('session.cookie_secure', 1); +} + if (!get_config('system', 'disable_database_session')) { session_set_save_handler('ref_session_open', 'ref_session_close', 'ref_session_read', 'ref_session_write',