CookIe安全
cookie一个神奇的机制,无论什么请求中都会带有cookie字段。
可以通过服务器响应头的Set-Cookie字段添加,修改和删除,大多数情况下,客户端通过JavaScript也可以添加,修改和删除cookie
cookie重要字段
[name][value][domain][path][expires][httponly][secure]
对应着 名称,值,所属域名,所属相对根路径,过期时间,是否有HttpOnly标志,是否有Secure标志
子域Cookie机制
通过domain字段机制设置cookie,如果不指定domain的值,默认是本地。例:
document.cookie="test=1";
路径Cookie机制
path字段机制,设置cookie时,如果不指定path的值,默认就是目标页面的路径。例:
www.xxxx.com/admin/index.php页面通过JavaScript来设置一个Cookie document.cookie="test=1";
path的值就是/admin/。通过指定path字段,JavaScript有权限设置任意cookie到任意路径下,但是只有目标路径下的页面JavaScript才能读取到该cookie。
跨路径获取:
xc=function(src){ var o =document.createElement("iframe");//iframe进入同域的目标页面 o.src =src; document.getElementsByTagName("body")[0].appendChild(0); o.onload=function(){ //iframe加载完成后 d=o.contenDocument || o.contentWindow.document; //获取document对象 alert(d.cookie);//获取cookie }; }('http://www.xxxx.com/admin/index.php');
通过path不能防止重要的cookie被盗取。