COOKIE是什么
不用技术术语解释,COOKIE就是在你访问网页的时候,在你的计算机上写一个小文件。文件里记录你的身份。比如你的登陆账号。
COOKIE在各种浏览器中如何设置
IE浏览器
Microsoft Internet Explorer IE7.0版本cookie设置帮助:
1.打开开始菜单中的控制面板
2.双击 Internet选项 图标(或直接在IE7中点击工具菜单下的 Internet选项 ).
3.选择 隐私 标签.
4.点击 高级 按钮.
5.选择 替代自动 cookie处理 复选框.
6.第一方 Cookie, 选 接受.
7.第三方 Cookie, 选 接受.
8.点选 总是允许会话cookie.
9.点击 OK.
10.点击 OK 退出.
IE从5到9基本都这个流程详情请参阅
http://www.china-yjy.com/sample/rsn/cookies.htm
COOKIE的用法
这个其实写程序基本都知道
...
...
就写了一个COOKIE。
setcookie(name,value,expire,path,domain,secure)
参数 描述
name 必需。规定 cookie 的名称。
value 必需。规定 cookie 的值。
expire 可选。规定 cookie 的有效期。
path 可选。规定 cookie 的服务器路径。
domain 可选。规定 cookie 的域名。
secure 可选。规定是否通过安全的 HTTPS 连接来传输 cookie。
除了name和Value为必填项目,其他都可以不写。
不过这个世界浏览器真多。所以…..
是不是有时候cookie写不进去。
最近月小升开发广告监测系统的时候,就发生了这样的事情。标准的写法,在某一些情况下没有cookie生效,经过无数研究最终发现在IE某些版本下,必须写到domain
否则cookie不能生效。
setcookie("click2",$aid,time()+3600*24*365*2,'/'); //某些浏览器下无法生效
setcookie("click2",$aid,time()+3600*24*365*2,'/','.java-er.com');//全部生效的写法
在一些情况下cookie也不能生效,网上不少人都在IFrame的时候cookie不能即时生效。还有的跨域等等。
使用P3P协议,可以解决大部分问题。
以后为了兼容这些可恨的混乱的浏览器,写全了吧
setcookie("click2",$aid,time()+3600*24*365*2,'/','.java-er.com');
secure参数的说明
secure参数在HTTPS下用1,HTTP下用0。 如果你在HTTP链接上写1,cookie将不会生效。
cookie在浏览器中的限制
1.不能在页面有内容输出以后才写入cookie。
比如
echo 'abc';
setcookie("TestCookie",$value);
2.浏览器限制
一个浏览器能创建的Cookie数量最多为30个,并且每个不能超过4KB,每个WEB站点能设置的Cookie总数不能超过20个。