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的用法
这个其实写程序基本都知道
<?php $value = "my cookie value"; // 发送一个简单的 cookie setcookie("TestCookie",$value); ?> <html> <body> ... ... |
就写了一个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个。