用COOKIE保存登录用户信息时,怎样保证COOKIE不被伪造解决办法
程序员文章站
2023-12-31 11:41:46
...
用COOKIE保存登录用户信息时,怎样保证COOKIE不被伪造
各位高手。请教大家一个问题,我想使用COOKIE保存用户登录,目的是可以在HTML页面使用(显示用户名和自动填入文本框),和能够在一段时间内免登录。
请问一下。我怎样才能保证COOKIE不会被伪造呢?
------解决方案--------------------
选择记住密码登录的时候
$spuerpass="20120412001@#" //自己更改,用户无法获得
$user_id=$rows_arr['user_id'];
$rand=md5(md5($user_id.$spuerpass));
setcookie('user_,$user_id,(time()+2592000),'/','',0);
setcookie('rand',$rand,(time()+2592000),'/','',0);
$_SESSION['user_id']=$user_id;
下次打开页面检测是否有记住密码登录
if(isset($_COOKIE['user_id'])&&isset($_COOKIE['rand']))
{
$user_id=$_COOKIE['user_id'];
$spuerpass="20120412001@#";
$rand=md5(md5($user_id.$spuerpass));
if($_COOKIE['rand']==$rand)
{
$_SESSION['user_id']=$user_id;
}
}
各位高手。请教大家一个问题,我想使用COOKIE保存用户登录,目的是可以在HTML页面使用(显示用户名和自动填入文本框),和能够在一段时间内免登录。
请问一下。我怎样才能保证COOKIE不会被伪造呢?
------解决方案--------------------
选择记住密码登录的时候
$spuerpass="20120412001@#" //自己更改,用户无法获得
$user_id=$rows_arr['user_id'];
$rand=md5(md5($user_id.$spuerpass));
setcookie('user_,$user_id,(time()+2592000),'/','',0);
setcookie('rand',$rand,(time()+2592000),'/','',0);
$_SESSION['user_id']=$user_id;
下次打开页面检测是否有记住密码登录
if(isset($_COOKIE['user_id'])&&isset($_COOKIE['rand']))
{
$user_id=$_COOKIE['user_id'];
$spuerpass="20120412001@#";
$rand=md5(md5($user_id.$spuerpass));
if($_COOKIE['rand']==$rand)
{
$_SESSION['user_id']=$user_id;
}
}
相关文章
相关视频