这样销毁和取消会话安全吗?它是否遵循编码标准?
我正在实现一个登出脚本的网站。用户登录后,会话设置成功session_name("website_sess")
session_start();
这是当用户单击注销按钮时调用的脚本
if ( ( isset($_SESSION['firstsessionname']) )
&& ( !empty($_SESSION['firstsessionname']) ) ) {
$_SESSION['firstsessionname'] = '';
}
if ( ( isset($_SESSION['secondsessionname']) )
&& ( !empty($_SESSION['secondsessionname']) ) ){
$_SESSION['secondsessionname'] = '';
}
if ( ( isset($_SESSION['thirdsessionname']) )
&& ( !empty($_SESSION['thirdsessionname']) ) ){
$_SESSION['thirdsessionname'] = '';
}
if ( ( isset($_SESSION['fourthsessionname']) )
&& ( !empty($_SESSION['fourthsessionname']) ) ){
$_SESSION['fourthsessionname'] = '';
}
session_name("website_sess");
session_start();
session_unset();
$_SESSION[]=array();
session_destroy();
session_regenerate_id(TRUE);
它是安全的,应该session_regenerate_id(TRUE)在那里?在销毁所有会话后。
正如@KyleK所说,这远远超出了你所需要的。看一下session_regenerate_id docs的Parameters部分。
<?php
// Generate a new session ID and delete the old data while we're at it
session_regenerate_id(true);