コード例 #1
0
ファイル: tiki-setup_base.php プロジェクト: ameoba32/tiki
             * collisions. An extra cookie is set with an additional random value. When loading
             * the session, it makes sure the extra cookie matches the one in the session. Otherwise
             * it destroys the session and reloads the page for the user.
             *
             * Effectively, in the occurence of a collision, both users are kicked out.
             * This is an extremely rare occurence that is hard to reproduce by nature.
             */
            if (isset($_SESSION['extra_validation'])) {
                $cookie = isset($_COOKIE[$extra_cookie_name]) ? $_COOKIE[$extra_cookie_name] : null;
                if ($cookie !== $_SESSION['extra_validation']) {
                    Zend_Session::destroy();
                    header('Location: ' . $_SERVER['REQUEST_URI']);
                    exit;
                }
            } else {
                $sequence = $tikilib->generate_unique_sequence(16);
                $_SESSION['extra_validation'] = $sequence;
                setcookie($extra_cookie_name, $sequence, time() + 365 * 24 * 3600, ini_get('session.cookie_path'));
                unset($sequence);
            }
        } catch (Zend_Session_Exception $e) {
            // Ignore
        }
    }
}
// Moved here from tiki-setup.php because smarty use a copy of session
if (isset($prefs['feature_fullscreen']) && $prefs['feature_fullscreen'] == 'y') {
    require_once 'lib/setup/fullscreen.php';
}
// Retrieve Tiki addons
TikiAddons::refresh();