我将会话配置为仅使用 cookie,并为加密连接使用单独的 cookie:
// only allow cookie based sessions
ini_set('session.use_only_cookies', TRUE);
// use a separate cookie for secure sessions
if(isset($_SERVER['HTTPS'])) {
ini_set('session.cookie_secure', TRUE);
} else {
ini_set('session.cookie_secure', FALSE);
}
$sess_prefix = ini_get('session.cookie_secure') ? 'SSL_' : '';
session_name($sess_prefix . 'PHPSESSID');
// start session
session_start();
我网站上的所有链接都使用相对路径。我的问题是,在用户登录后,如何强制所有链接使用 HTTPS,然后在他们注销后返回允许 HTTP?
我知道我可以在必填页面上强制使用它,例如:
if(!isset($_SERVER['HTTPS'])) {
header('Location: https://' . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI']);
}
但是我将如何处理条件页面?当他们登录时,我根本不想允许使用 HTTP。