作者:小小的忧伤团_170 | 来源:互联网 | 2017-05-13 02:18
:11Session和数据保持:1通过SessionID维护网站中的用户信息;echosessionid.$_COOKIE[PHPSESSID];echo;echosessio
1 通过SessionID维护网站中的用户信息
session_start();
$_SESSION['visits']++;
print'You have visited here '.$_SESSION['visits'].' times.
';
echo'session id = '.$_COOKIE['PHPSESSID'];
echo"
";
echo"session name = ".session_name()."
";
?>
SessionID记录在全局变量_COOKIE中,SessionID的名字是PHPSESSID,PHPSESSID也可以通过session_name()获得。
2 预防Session劫持
ini_set('sessio.use_only_COOKIEs', true);
session_start();
$salt = 'YourSpecialValueHere';
$tokenstr = date('W').$salt;
$token = md5($tokenstr);
echo'token = '.$token.'
';
if(!isset($_REQUEST['token']) || $_REQUEST['token'] != $token)
{
exit;
}
$_SESSION['token'] = $token;
output_add_rewrite_var('token', $token);
echo'link';
ob_flush();
output_reset_rewrite_vars();
?>
session_start();
output_add_rewrite_var('var', 'value');
echo'link';
ob_flush();
output_reset_rewrite_vars();
echo'link';
?>以上例程会输出:
<ahref="file.php?PHPSESSID=xxx&var=value">linka><ahref="file.php">linka>
3 预防Session定制
- 不会把session标志符附加到URL上的session COOKIE.
- 频繁的生成新的sessionID
ini_set('session.use_only_COOKIE', true);
session_start();
if(!isset($_SESSION['generated']) || $_SESSION['generated'] <(time() - 30))
{
session_regenerate_id();
$_SESSION['generated'] = time();
}
echo$_COOKIE['PHPSESSID']
').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('
').text(i));
};
$numbering.fadeIn(1700);
});
});
以上就介绍了11 Session和数据保持,包括了方面的内容,希望对PHP教程有兴趣的朋友有所帮助。