cookie的作用域范围是如何界定的,即如何确定哪些页面可以共享cookie
------------------------------------
举例吧,我在一个文件夹下,比如 d:\tmp\下建了几个html文件,我发现在a.htm中创建的cookie,在b.htm中是可以识别的。
是不是可以认为,只要是同一个文件夹下的html文件,就可以共享cookie,
当然,我是在本机上做测试,如果作为一个网站来讲,cookie的作用域又是如何界定的呢?

解决方案 »

  1.   

    JavaScript:cookie的安全性
        在默认情况下,cookie都是采用不加密的HTTP的传输方法,这种方法传输容易被别人窃听。如果cookie中的信息很重要,就不能用这种方法了。因此,在JavaScript提供了cookie的secure属性,可以解决这个问题。
    secure就是安全的意思。当设置了cookie的secure属性之后,cookie就只能通过HTTP或其他安全协议来传输,这样消息就不容易被别人窃听了。cookie的secure属性是一个布尔类型的值。
    【范例14-6】在本例中,cookie"username"被设置成在10分钟之后过期,可以被服务器上的所有目录访问,可以被localhost域里的所有服务器访问,安全状态为安全。如示例代码14-6所示。
    示例代码14-6
    01    <html>
    02        <head><title>cookie的参数</title>    
    03            <script language="javascript">    
    04                function setCookie()        
    05                { 
    06                    var value=prompt("请输入cookie变量的值","");                                                                        //接收用户输入的值
    07                    if(value!=null)                    //判断value是否为空
    08                    {
    09                    var expiration = new Date((new Date()).getTime() + 10 * 60000);                                                        //设置cookie存活期
    10                    document.cookie = "username=" + escape(value)+ ";                                                                //给cookie编码
    11                    xpires ="+ expiration.toGMTString()+";path=/;domain=local host; secure";                                            //设路径
    12                    alert("设置cookie值成功编码结果为:username="+escape(value));                                                        //输出结果
    13                    }
    14                    else
    15                    {
    16                        alert("设置失败,你没有输入任何值!");                                                                        //检查输入是否为空
    17                    }
    18                }
    19                function getCookie(cookie_name)    //自定义函数用于获取cookie的值
    20                {
    21                    var allcookies = document.cookie;                                                                            //声明一个变量allcookies
    22                    var value=null;                 //将value的初始值设为空
    23                    var searchs=cookie_name+"=";    //给变量searchs赋cookie名
    24                    if(allcookies.length>0)        //查看cookie是否为空
    25                    {
    26                        var offset=allcookies.indexOf(searchs);                                                                    //找到要查找的变量名
    27                        if(offset!=-1)            //判断所查找的变量名是否存在
    28                        {
    29                                offset+=searchs.length;
    30                                var end=allcookies.indexOf(";",offset);                                                            //找到变量值的结束位置
    31                                if(end==-1)        //防止没加“;”号的情况发生
    32                                {
    33                                    end=allcookies.length;                                                                    //取得cookie的长度
    34                                }
    35                                value=unescape(allcookies.substring (offset,end));                                        //取得变量的值
    36                        }
    37                        else
    38                        {
    39                            value=null;            //将变量value赋为空
    40                        }
    41                    }
    42                    return value;                    //返回变量value的值
    43                }    
    44            </script>    
    45            </head>                                <!--文档头结束-->
    46        <body>                                    <!--文档体->
    47        <input type="submit" name="Submit" value="设置cookie值" onClick="set Cookie()">
    48        <input type="submit" name="Submit2" value="读取cookie值" onClick="alert (getCookie('username'))">
    49        </body>                                   <!--文档体结束-->
    【运行结果】打开网页文件运行程序。
    【代码解析】该代码段第4~18行的作用是设置cookie,这里设置了这个cookie的键、值、存活期、路径等,同时还编码过。第19~43行是读取所设置的过程,注意读取的时候要先解码。再有,Date设置是以毫秒为单位,因此getTime方法返回时间,单位为毫秒。提示:设置了secure属性,只保证cookie与Web服务器之间的数据传输过程加密,而保存在本地的cookie文件并不加密
      

  2.   

    path; Setting a path for the cookie allows the current document to share cookie information with other pages within the same domain—that is, if the path is set to /thispathname, all pages in /thispathname and all pages in subfolders of /thispathname can access the same cookie information.  就是说.当你PATH设置成/时.你当前文件夹或者DOMAIN下的所有子文件及子文件夹里的文件都可以读到.但当设置为/thispathname就只有DOMAIN/thispathname下的文件及文件夹能读写.