• Cookie概要


     
      以下内容适合IE6.0浏览器

      1. Cookie用来保存信息,是Session,Asp.net Form认证的基础


      2.Cookie 有 Name, Value,Domain, Expires,Path,HttpOnly等属性


      3. Cookie 按存在时间分临时Cookie,跟持久Cookie.
       临时Cookie没指明Expires属性,因此不会在IE的临时文件夹中生成相应cookie文件,而持久cookie是指设置了expires属性,(具体时间可以是比当前时间多1秒或者2秒...,不一定是很长的时间),这样的cookie会在IE临时文件夹下生成一个cookie文件,当然这个cookie文件会在expires到期后自动删除掉.

      4. IE6.0支持Cookie HttpOnly 属性,指定了HttpOnly属性的cookie 不允许客户端脚本访问如: URL(地址栏)中输入javascript:alert(document.cookie) 将显示含HttpOnly属性的cookie,当然着也意味着javascript无法生成含httpOnly的cookie, 这样可以在一定程度上避免跨站点脚本攻击.
    Asp.net2.0以及以后版本中的HttpCookie类可以直接设置HttpOnly属性,不过Asp中你需要类似下面的处理:

    -------代码--------------

    <%
    '**************************************************
    'ASP 中输出httponly cookie IE6.0以上浏览器支持
    'WDFrog
    '2009-04-15
    '<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    '**************************************************

    '----------SetHttpOnlyCookie----------------------------------------
    '功能:设置HttpOnly Cookie
    '参数:expDate 为保到期, 0表示不设置,设置为过去某一时间表示清除
    '参数:domain 为空(string.Empty)表示不设置
    '-------------------------------------------------------------------
    Function SetHttpOnlyCookie(cookieName,cookieValue,domain,path,expDate)
      Dim cookie
      cookie=cookieName & "=" & Server.URLEncode(cookieValue) & "; path=" & path
      If expDate <> 0 Then
        cookie=cookie & "; expires=" & DateToGMT(expDate)
      End If
     
      If domain <> "" Then
        cookie=cookie & "; domain=" & domain
      End If

      cookie=cookie & "; HttpOnly"
     
      Call Response.AddHeader ("Set-Cookie", cookie)
    End Function

    '-------------getGMTTime------------
    '参数: sDate 需要转换成GMT的时间
    '---------------------------------
    Function DateToGMT(sDate)
       Dim dWeek,dMonth
       Dim strZero,strZone
       strZero="00"
       strZone="+0800"
       dWeek=Array("Sun","Mon","Tue","Wes","Thu","Fri","Sat")
       dMonth=Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")
       DateToGMT = dWeek(WeekDay(sDate)-1)&", "&Right(strZero&Day(sDate),2)&" "&dMonth(Month(sDate)-1)&" "&Year(sDate)&" "&Right(strZero&Hour(sDate),2)&":"&Right(strZero&Minute(sDate),2)&":"&Right(strZero&Second(sDate),2)&" "&strZone
    End Function
    '参考
    'Call SetHttpOnlyCookie("cookieOnly1","onlyValue",".gyzs.com","/",0)
     
    %>

    参考文章:
    http://www.asp101.com/tips/index.asp?id=160

  • 相关阅读:
    【Gradle】Java Gradle 插件
    【Gradle】Gradle任务
    【Gradle】Gradle插件
    【Gradle】Groovy基础
    【Gradle】Gradle构建脚本基础
    【Gradle】Gradle入门
    【Android】Android多渠道打包--Gradle打包
    【Android】基于A星寻路算法的简单迷宫应用
    【Web】解决简书图片不显示问题“系统维护中,图片暂时无法加载”
    【Android】线程池
  • 原文地址:https://www.cnblogs.com/wdfrog/p/1436493.html
Copyright © 2020-2023  润新知