• 关于cookie


     

    1.关于cookie的domain属性的值有没有“.”的测试


         现有两个应用A,B, A域名www.zyr.com , B域名为abc.zyr.com。在A中添加名为name,值为zyr的cookie,并且手动设置cookie的域时(即cookie.setDomain("zyr.com");),
    firefox中在显示cookie时,firefox中在显示cookie时会显示.zyr.com,即自动在前面加了个点,而默认不设置时,会显示www.zyr.com, 而相应的在chrom中只显示zyr.com,前面没有点,默认不设置时,显示www.zyr.com。
    重点是:前面有没有点,对firefox,chrome,ie来说,都是同等对待,即B应用始终能接收浏览器传过来的A应用设置的cookie.
    但应注意的是在RFC2109(http://www.ietf.org/rfc/rfc2109.txt):HTTP State Management Mechanism 中一条如下,
    4.3.2  Rejecting Cookies
    “The value for the Domain attribute contains no embedded dots or does not start with a dot. ”,即cookie的domain的值,必须是以点开始的,不以点开始的cookie,应该拒绝丢弃。
    我的理解是,firefox,chrome,ie在这一点上,没有遵从标准。

    2.域名的层次关系对cookie的影响.


        子孙域名应用的都能获取到父域名应用写的cookie,即现有4个应用,A应用的域名是www.zyr.com,B应用的域名是b.zyr.com,C应用的域名是c.c.zyr.com,
    D应用的域名是d.d.d.zyr.com,
    其中A应用添加了一个cookie,其domain属性设置为zyr.com,B应用添加了一个cookie,其domain属性设置为b.zyr.com,c应用添加了一个cookie,其domain属性设置为
    c.c.zyr.com,
    D应用添加了一个cookie, 其domain属性设置为d.d.d.zyr.com, 那么访问A应用时,A应用只能获取其自己写的Cookie,访问B应用时,其能获取A应用写的cookie和
    其自己写的Cookie,访问C应用时,其能获取A,B应用写的cookie和 其自己写的Cookie,访问D应用时,其能获取A,B,C应用写的cookie和 其自己写的Cookie.


    3.cookie不能跨域.
    现有两个应用A,B, A域名www.zyr.com , B域名为www.abc.com, A域名添加的cookie,B应用获取不到,B域名添加的cookie,B应用获取不到.
    即使A应用在添加cookie时,将cookie的域名属性设置为abc.com,虽然在浏览器如firefox中能看到cookie,其域名也为abc.com,,但在访问B应用时,B应用也

    还是不能获取到这个Cookie .


    4.maxAge属性说明.
    在添加cookie时,如果不设置maxAge的值,则其默认值为-1,表示其为会话cookie,即当浏览器关闭时,cookie失效.删除cookie的方法为:添加一个同名cookie,将

    maxAge属性值设置为0即可.有网友说maxAge在IE无效,但经测试,在IE也是有效的(只在IE8测试过)


    5.httponly属性说明.

    在可以将httponly属性值设置为ture时,应尽量设置为true,这样相对来说,安全性更高,因为能防止在js中访问


    6.secure属性说明.
    应用在添加cookie时,如果只想让该cookie被安全url(即以https开头的url)获取,则应将secure属性设置为true
  • 相关阅读:
    MySQL数据类型与操作
    MySQL 初识
    python中的线程
    python中的进程
    python中基于tcp协议与udp的通信(数据传输)
    字符串str.format()方法的个人整理
    进度条打印函数
    套接字错误搜集
    正则表达式 整理(w s d 点 贪婪匹配 非贪婪匹配 * + ? {} | [] ^ $  单词边界 分组、re.findall()、re.split()、re.search()、re.match()、re.compile()、re.sub())
    软件开发架构介绍||OSI七层协议之物理层、数据链路层、网络层、传输层(mac地址、ip协议、断开协议、tcp协议之三次握手四次挥手)
  • 原文地址:https://www.cnblogs.com/demonxian3/p/7919853.html
Copyright © 2020-2023  润新知