zoukankan      html  css  js  c++  java
  • HttpCookie.HttpOnly VS Cookie.HttpOnly?(downmoon原创)

    网站的Cookie管理除了限定Domain增强安全性之外,.net 2.0新增一个Cookie属性HttpOnly。很棒!

    在做一个cookie功能时用到了Cookie的一个属性HttpOnly

    Code

    原以为这样后,客户端应该无法访问该Cookie了! 

    结果,如图

    感觉比较诡异,于是再查MSDN

    得知原来有两个cookie类。System.Web.HttpCookie  类 和 System.Net.Cookie 类

    注意命名空间不同。

    两个类的说明分别如下:

     
    Cookie 类提供一组用于管理 Cookie 的属性和方法。无法继承此类。命名空间:System.Net

     HttpCookie 类提供创建和操作各 HTTP Cookie 的类型安全方法。命名空间:System.Web

     

     两个类都有HttpOnly属性,分别说明如下:

    Cookie.HttpOnly 属性注意:此属性在 .NET Framework 2.0 版中是新增的。确定页脚本或其他活动内容是否可访问此 Cookie。

    HttpCookie.HttpOnly 属性注意:此属性在 .NET Framework 2.0 版中是新增的。获取或设置一个值,该值指定 Cookie 是否可通过客户端脚本访问。

    问题来了,关键的理解点在于通过什么东东来访问。

    不太理解微软机器翻译的“页脚本或其他活动内容”究竟指什么玩意?

    于是做测试,建立一个Web Application,

    在TestCookie.aspx页面,的Page_Load事件中加入 

    Code

    该段代码的功能主要是测试能否正确读写Cookie

    结果如下:

    Code

     再建一ConSole Application,

    看看能否获取并修改该页面的Cookie

    代码如下:

    Code

    运行结果

    Code

     请注意, c.Value = ck.Value+"--Update";这句在修改Cookie.value后并没有成功写入该页面的Cookie集合中,换言之,一个未知的客户端应用程序并没有通过读取一个页面的Cookie并修改再写入该页面的Cookie集合。

    我的理解是:

    1、System.Web.httpCookie主要是服务器端应用。System.Net.Cookie主要是客户端程序应用,后者可以读取前者的Cookie属性和值,而不能修改服务器定义的Cookie。

    2、System.Web.httpCookie.HttpOnly=true后,客户端脚本无法访问该Cookie,但其他程序仍然可以访问。

     System.Net.Cookie.HttpOnly=true后,因其是客户端程序,故有更多的限制,不允许”页面脚本及其他程序“访问该Cookie, 只有创建它的应用程序可以访问。并且在特定的Domain下。

    值得注意的是:HttpOnly属性仅对IE 6 SP1以上的版本才有效,在FireFox3.01下也可以!但对于IE5.x的机器,可能就****

     欢迎大伙指正。

    邀月注:本文版权由邀月和博客园共同所有,转载请注明出处。
    助人等于自助!  3w@live.cn
  • 相关阅读:
    (Good Bye 2019) Codeforces 1270B Interesting Subarray
    (Good Bye 2019) Codeforces 1270A Card Game
    Codeforces 1283D Christmas Trees(BFS)
    Codeforces 1283C Friends and Gifts
    Codeforces 1283B Candies Division
    1095 Cars on Campus (30)
    1080 Graduate Admission (30)
    1099 Build A Binary Search Tree (30)
    1018 Public Bike Management (30)
    1087 All Roads Lead to Rome (30)
  • 原文地址:https://www.cnblogs.com/downmoon/p/1289298.html
Copyright © 2011-2022 走看看