在语言编写上(PHP)可以选择存在机器里面,也可以选择存在服务器端
就安全性考虑,一般都存在服务器端。只有在用户特殊要求(Windows选择保存密码)
才会存在客户端的COOKIE里面
这个问题需要学习一下动态网页的语言你就明白了Cookie就是服务器暂存放在你电脑上的一笔资料,好让服务器用来识别你的计算机。当你在浏览网站的时候,WEB服务器会先送一小小资料放在你的计算机上,Cookie会帮你在网站上所打的文字或是一些选择,都记录下来。当下次你再光临同一个网站,WEB服务器会先看看有没有它上次留下的Cookie资料,如果有的话,就会根据Cookie里的内容来判断使用者,送出特定的网页内容给你。
cookie保留的时间:不保存,保存一天,保存一周,保存一月,保存1年。
一般在论坛登陆时都有选择的,以便下次不用输入帐号密码便可直接登陆。
提示你“Cookie超时已过期,请重新登陆!” ,也就是上次cookie保留的时间已到期,须重新登陆保存。
其实Cookie中记载的资料相当有限,网站不可能通过Cookie获得你的Email地址或是其他私人资料。如果你想让浏览器拒绝网站存放Cookie到你的计算机,可按"工具→Internet选项",切换到"安全"标签,选择"自定义级别",找到Cookie部分(如图),全都设为关闭,按下"确定"按钮后,再关闭浏览器即可。当你关闭Cookie之后,很多网站的个人化服务功能很可能也不能再使用了。
Cookie存放位置是在C:\Windows\Temporary Internet Files文件夹中,你可以直接删掉这里面的东西或是利用Internet Explorer的"Internet选项"里的"删除文件"按钮来清除。
开启Cookie:
1选择浏览器菜单中的工具->Internet 选项,您会看到窗口。
2点选“默认级别”按钮,即可打开Cookie(因为IE定义的默认级别是允许使用Cookie的)
您也可以点选“自定义级别”,然后会看到以下窗口,在Cookie项选择“启用”即可。把数据保存到cookie中,在服务器的响应的时候,就会把cookie保存到客户端(一般是浏览器)的硬盘中。当你第二次(关键)访问的时候,浏览器才会将cookie带过来。
而楼主你的代码中,根本就没有二次访问,所以就肯定获取不到值了。
这种情况是可以保存在session中。服务器不保存你的cookie,客户端的cookie删除之后请求发到服务器,服务器从请求里解析读取cookie,cookie没了。 简单的说给你有钥匙,可以进自己家,结果钥匙丢了,进不去。更明确的讲就是服务器端默认保存了个sessionID,和你的cookie匹配。每次请求都解析是否匹配。session就是你家的门,cookie是钥匙解决方法如下:
1、首先在iframe的页面中判断某个session值是否存在。如果不存在,使用js修改windowtoplocation跳到一个本域的setSessionphp页面。
2、因为是用windowtoplocation打开,因此并非iframe去访问,且能以第一方cookie保存
3、然后在setSessionphp页面执行完set session后,会跳回A域名的页面。之后就能使用session而不失效了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)