• 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

  • 相关阅读:
    源码阅读-logback的StaticLoggerBinder如何提供ILoggerFactory的实现类
    源码阅读-logback解析之对接日志门面slf4j
    不可变对象 -final-unmodifiableX
    安全发布对象
    线程安全性-原子性-可见性-有序性
    并发相关基础知识
    并发与高并发介绍
    Spring源码解析-ioc容器的设计
    微服务架构概述
    获取当前时间到毫秒
  • 原文地址:https://www.cnblogs.com/wdfrog/p/1436493.html
Copyright © 2020-2023  润新知