zoukankan      html  css  js  c++  java
  • Cookie安全概述

    Cookie工作原理[1]:

    1,服务器端发送给浏览器端一个含有 “Set-Cookie” 字段的HTTP头。

    2,浏览器端接收到 Set-Cookie 指令时,将Cookie的名称与值存储在浏览器的Cookie存放区,并记录该Cookie的 网域(例如: google.com)、路径、失效时间、安全标志。

    3,当浏览器发送HTTP请求时,首先查找浏览器Cookie存放区内有没有 该网域、该路径、尚未失效和是否为安全连接的Cookie,如果有的话,就会包含在HTTP请求header的“Cookie”中。

    注意,假如一个Web页面包含20张图片、3个CSS、2个JS,同一个Cookie就会发送25次到服务器端。

    Cookie特性[2]:

    1,Cookie个数受限,IE6每个域名最多20个,IE7之后版本最多50个。Firefox 50,Safari和Chorme没有硬性规定。

    2,Cookie大小受限,一般将Cookie长度限制在4095字节(byte)以内。

    3,Cookie的名称和值在传送时必须是经过URL编码的。

     接下来要讲的终于要切入正题了,就是关于Cookie安全的[3]。

    Cookie攻击的两种手段:

    1,Cookie欺骗

      通过盗取、修改、伪造Cookie的内容来得到相应权限或者进行相应权限的操作。

    2,Cookie注入

      利用Cookie进行数据库SQL注入,很多人注意过滤通过Get和Post方式获取的参数,但是却疏于过滤从Cookie获取的参数,这点是要引起注意的。

    使用Cookie保存的数据

    一般不要用Cookie保存用户的个人信息,比如密码、邮箱等,但是如果想在用户链接到网站的时候,验证用户是否是上次登录的那个用户,可以用户每次登录成功后,将一个随机密码发送到浏览器端保存(当然在服务器端数据库也要保存该字段,假如字段名为CookiePassword,注意与用户登录密码不同),当用户再次登录时,首先验证用户发来的密码与CookiePassword字段(不是用户密码)中保存的是否一致,相同即可认为是上次正常登录的用户。

    正题好短,囧 -_-

    参考文献:

    [1]http://blog.miniasp.com/post/2008/02/23/Explain-HTTP-Cookie-in-Detail.aspx

    [2]JavaScript高级程序设计[M],Nicholas C. Zakas

    [3]黑客Web脚本攻击与技术防御核心剖析[M],郝永清

  • 相关阅读:
    Java——Spring MVC数据绑定
    Java——Spring MVC环境配置
    IDEA创建maven web工程
    Java——JDBC Template
    Java——基于AspectJ的AOP开发
    Java——Spring AOP
    JDK12不包含JAXB-API
    [转载]Docker容器无法被stop or kill问题
    常用工具/代码库
    Docker常用yml
  • 原文地址:https://www.cnblogs.com/realwall/p/2254706.html
Copyright © 2011-2022 走看看