X-Git-Url: https://git.mxchange.org/?a=blobdiff_plain;f=include%2Fsession.php;h=af871b28a1d8467b9ebb4f87ad1131f4cf424804;hb=578dc6f9672ca81a21ff70363cb16fb7cd0aca7c;hp=31024060f3c0c7c1f465a6cee6fde44af8a4c0bf;hpb=46ba1a46f5b7b84f6e94fdbdbe87c4f1f320c90f;p=friendica.git diff --git a/include/session.php b/include/session.php index 31024060f3..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; @@ -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',