在 php 中设置安全会话 cookie
Setting secure session cookies in php
设置会话 cookie 的语法
session_set_cookie_params($lifetime, $path, $domain, $secure, true);
Q1。像下面这样设置会话 cookie 是安全的还是需要做更多的事情?
session_set_cookie_params('3600', 'www.example.com', isset($_SERVER["HTTPS"]), true);
Q2。设置会话(从安全角度来看)cookie 的理想生命周期应该是多长?
Q3。如果我决定将我的网络管理文件夹转移到子域,那么上面的代码是否需要更改?
A1:你上面的代码看起来很理想,只要它遵循 PHP 文档页面,否则我们说谁;
A2:这完全取决于它的用途。在银行业务中,有些人喜欢在不活动的几分钟内终止会话。在游戏或社交网络中,这些设置往往更加宽松和宽松,以给用户更多的回旋余地;
A3:是的,您必须更改 cookie 以反映新的子域管理员更改。如果您想设置一个全局 cookie(适用于所有子域):
session_set_cookie_params('3600', 'example.com', (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off')? true : false, true);
希望对您有所帮助!
define('SESSION_EXPIRE',3600*6);
define('SESSION_EXPIRE_RELOAD',1800);
ini_set('session.gc-maxlifetime',SESSION_EXPIRE);
ini_set('session.name','prl');
ini_set('session.cookie_httponly',true);
ini_set('session.cookie_secure',false);
session_set_cookie_params(SESSION_EXPIRE);
session_start();
[How do I expire a PHP session after 30 minutes?
sessionRegenerate(){
if (!isset($_SESSION['SESSION_CREATED']))
{
$_SESSION['SESSION_CREATED'] = time();
}
else if (( SESSION_EXPIRE -(time() - $_SESSION['SESSION_CREATED']) ) < SESSION_EXPIRE_RELOAD && ( SESSION_EXPIRE -(time() - $_SESSION['SESSION_CREATED']) ) > 0 )
{
session_regenerate_id(true);
$_SESSION['SESSION_CREATED'] = time();
}
}
设置会话 cookie 的语法
session_set_cookie_params($lifetime, $path, $domain, $secure, true);
Q1。像下面这样设置会话 cookie 是安全的还是需要做更多的事情?
session_set_cookie_params('3600', 'www.example.com', isset($_SERVER["HTTPS"]), true);
Q2。设置会话(从安全角度来看)cookie 的理想生命周期应该是多长?
Q3。如果我决定将我的网络管理文件夹转移到子域,那么上面的代码是否需要更改?
A1:你上面的代码看起来很理想,只要它遵循 PHP 文档页面,否则我们说谁;
A2:这完全取决于它的用途。在银行业务中,有些人喜欢在不活动的几分钟内终止会话。在游戏或社交网络中,这些设置往往更加宽松和宽松,以给用户更多的回旋余地;
A3:是的,您必须更改 cookie 以反映新的子域管理员更改。如果您想设置一个全局 cookie(适用于所有子域):
session_set_cookie_params('3600', 'example.com', (!empty($_SERVER['HTTPS']) && $_SERVER['HTTPS'] != 'off')? true : false, true);
希望对您有所帮助!
define('SESSION_EXPIRE',3600*6);
define('SESSION_EXPIRE_RELOAD',1800);
ini_set('session.gc-maxlifetime',SESSION_EXPIRE);
ini_set('session.name','prl');
ini_set('session.cookie_httponly',true);
ini_set('session.cookie_secure',false);
session_set_cookie_params(SESSION_EXPIRE);
session_start();
[How do I expire a PHP session after 30 minutes?
sessionRegenerate(){
if (!isset($_SESSION['SESSION_CREATED']))
{
$_SESSION['SESSION_CREATED'] = time();
}
else if (( SESSION_EXPIRE -(time() - $_SESSION['SESSION_CREATED']) ) < SESSION_EXPIRE_RELOAD && ( SESSION_EXPIRE -(time() - $_SESSION['SESSION_CREATED']) ) > 0 )
{
session_regenerate_id(true);
$_SESSION['SESSION_CREATED'] = time();
}
}