Heim  >  Artikel  >  Backend-Entwicklung  >  cookie封存登录信息 登录成功后setcookie是有值 关闭浏览器在进首页就读取不到值 求解

cookie封存登录信息 登录成功后setcookie是有值 关闭浏览器在进首页就读取不到值 求解

WBOY
WBOYOriginal
2016-06-13 12:59:571153Durchsuche

cookie保存登录信息 登录成功后setcookie是有值 关闭浏览器在进首页就读取不到值 求解
登录时cookie保存

		<br />
if(empty($c)){<br />
	echo "不存在的用户名或者密码错误!";exit;<br />
}else{<br />
        if(isset($_POST['checked']) && $_POST['checked']!=0){<br />
		setcookie('username',$c['username'],time()+60*60*24*7);<br />
		setcookie('id',$c['id'],time()+60*60*24*7);<br />
	}<br />
	//判断是否是ajax请求<br />
	if(isset($action)){<br />
		echo "登陆成功";<br />
		$_SESSION['user']=$c['username'];<br />
	}else{<br />
		$_SESSION['user']=$c['username'];<br />
		header("Location:/");<br />
	}<br />
}   <br />

首页判断
<br />
    public function index()<br />
    {<br />
		session_start();<br />
		print_r($_COOKIE);<br />
		if(isset($_COOKIE['id']) && isset($_COOKIE['username'])){<br />
			echo $_COOKIE['username'];exit;<br />
			$_SESSION['user']=$_COOKIE['username'];<br />
		}<br />
        $this->display();<br />
    }<br />

cookie值找不到,再想请问下这样信息安全吗?怎么改进。
------解决方案--------------------
cookie使用错误
setcookie('username','username',time()+60*60*24*7);
setcookie('id','id',time()+60*60*24*7);
------解决方案--------------------
if(empty($c)){ ???
不知道你前面省略掉多少代码
既然是有条件进入 cookie 设置分支,那么你总得先确认该分支进入后再测试吧?
------解决方案--------------------
<br />
你看看这里是否执行。<br />
if(isset($_POST['checked']) && $_POST['checked']!=0){<br />
            setcookie('username','ssssss',time()+60*60*24*7);<br />
            setcookie('id','40',time()+60*60*24*7);<br />
        }<br />

------解决方案--------------------
关闭浏览器在进首页就读取不到值 求解 
------cookie是保存在客户端随着你的浏览器关闭而消失的。
------解决方案--------------------
登陆成功以后,你是不是点了退出,然后关的浏览器啊?然后重新打开首页cookie就没了?
如果没点退出,建议你换其它浏览器看看是不是同样的结果……
一定不能登陆以后点退出再关浏览器哈~~
------解决方案--------------------
设置cookie的 path看看,

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn