可可果

哈利是一只有白点的黑狗

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
控制 Cookie 有效范围

    默认情况下,一个站点的全部 Cookie 都一起保存在客户机上,而且所有这些Cookie 都会随着对该站点发送的请求一起发送到服务器,也就是说,站点的每个页面都能得到该站点的所有 Cookie.但有时候,您可能希望 Cookie 更具有针对性,这时,您可以通过两种方法设置 Cookie 的有效范围:

    把 Cookie 的有效范围限制在服务器上的一个文件夹中,实际上这样就将Cookie 限制到站点上的某个应用程序。

    把有效范围设置为某个域,从而允许您指定域中的哪些子域可以访问 Cookie.

    将 Cookie 限制到某个文件夹或应用程序

    要将 Cookie 限制到服务器上的某个文件夹,请按如下方法设置 Cookie 的Path 属性:

    Dim appCookie As New HttpCookie("AppCookie")

    appCookie.Value = "written " & Now.ToString appCookie.Expires = Now.AddDays(1)

    appCookie.Path = "/Application1" Response.Cookies.Add(appCookie)

    当然,您也可以通过直接设置 Response.Cookies 来编写 Cookie,如前文所述。

    路径可以是站点根目录下的物理路径,也可以是虚拟根目录。这样一来,Cookie就只能用于 Application1 文件夹或虚拟根目录中的页面。例如,如果您的站点名为www.contoso.com,则前面示例中生成的 Cookie 就只能用于路径为http://www.contoso.com/Application1/ 的页面以及该文件夹下的所有页面,而不适用于其他应用程序中的页面,如 http://www.contoso.com/Application2/ 或http://www.contoso.com/ 下的页面。

    提示:通过对 Internet Explorer 和 Mozilla 浏览器进行测试发现,此处使用的路径是区分大小写的。一般而言,Windows 服务器上的 URL 不区分大小写,但这种情况例外。您无法控制用户如何在浏览器中输入 URL,但是,如果您的应用程序依赖于与特定路径相关的 Cookie,则请确保您所创建的所有超链接中的 URL 与 Path 属性值的大小写相匹配。

posted on 2007-10-17 14:51  可可果  阅读(105)  评论(0编辑  收藏  举报