【发布时间】:2013-12-09 06:05:53
【问题描述】:
我正在尝试学习会话和安全性,第一步似乎通过使用session_regenerate_id() 来加强会话,不幸的是,没有提供关于如何以及为什么我们应该首先使用它的好的文档地方。因此,我在 SO 中检查了一些类似 Using Session_regenerate_id() 的答案,它们实际上未能提供任何正确的用法以及它如何保护页面免受会话固定/劫持。
我总是使用这样的东西(对于简单的登录脚本,我知道 mysql 注入,这是示例)
if($_POST){
$username = mysql_real_escape_string($_POST['username']);
$password = mysql_real_escape_string($_POST['password']);
$query = mysql_query("SELECT *
FROM users
WHERE username = '$username'
AND password = '$password' ");
$row = mysql_fetch_array($query);
if($row){
$_SESSION['LoggedIn'] = md5($username);
}
现在,我使用此方法进行验证并授予登录用户访问权限
if(isset($_SESSION['LoggedIn']) && !empty($_SESSION['LoggedIn'])){
//giv access to secured page
}else{
//redirect to login page
}
所以,我的问题是session_regenerate_id() 如何帮助我加强会话以及如何正确使用它
【问题讨论】:
标签: security session sessionid php