`
hiuman
  • 浏览: 50623 次
  • 性别: Icon_minigender_2
  • 来自: 广州
社区版块
存档分类
最新评论

有关cookie的内容

阅读更多
包括:
Cookie概述(Cookie的存放,有效期和作用域)
Cookie操作(保存Cookie,读取Cookie,Cookie的生命周期)
Cookie工作原理(Cookie与会话跟踪,Cookie安全性)

Cookie概述:
    Cookie是由服务器生成并存储在客户端文件系统(.txt格式)中的key/value对。当浏览器再次请求该站点上的页面时,就会自动把保存的Cookie发回服务器。
    Cookie使得浏览器可以在访问同一个站点的不同请求间传递数据,让服务器程序识别不同的客户端。
    (cookie 是存储于访问者的计算机中的变量。每当同一台计算机通过浏览器请求某个页面时,就会发送这个 cookie。你可以使用 JavaScript 来创建和取回 cookie 的值。)
    典型应用:保存用户登录状态、跟踪用户行为、页面定制、保存购物车等需要保存全局变量的场合。
    PS:出于隐私保护的考虑,浏览器可以选择禁用Cookie,或者手动删除。

Cookie的存放:
    Cookie保存在客户端某个特定的目录下的一个.txt文本文件中,且不同站点的Cookie数据保存不同的文件中。
    Cookie数据一般都是加密后保存的。

有效期和作用域:

    有效期:Cookie可以指定一个expires值,定义其生存周期,在这个周期内Cookie有效,超出周期Cookie就会被清除。有些页面将Cookie的生命周期设置为“0”或负值,这样在关闭浏览器时,就马上清除Cookie,不会记录用户信息,更加安全。
    作用域:默认情况下,某个站点保存的Cookie只能自己访问,不能被其他站点使用。但可以设置Cookie的domain和path值,限定在哪个域名下的哪个路径可以访问此Cookie。
    PS:“广告联盟”是个亟待规范的问题。

= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Cookie操作

保存Cookie:

    Cookie可以由服务器程序(如Java、PHP等)创建并发送给客户端保存;也可以由客户端JavaScript脚本创建并保存。

    //保存一个简单的Cookie
    document.cookie='uname=tom';
    //保存一个内容复杂的Cookie
    document.cookie='msg='+encodeURIComponent('Hi,JS 你好');
    //保存一个具有指定超时时间的Cookie
    document.cookie='uid=7788;expires='+new Date().toGMTString();

    上述三行语句可以创建并保存三个Cookie,而不是只有一个!
    PS:Cookie键值中不能包含分号,逗号,等号,空格,同时为了防止中文乱码问题,键值应该使用encodeURIComponent()函数进行编码。


读取Cookie:

    可以使用document.cookie获取当前站点可以读取的所有Cookie(多个Cookie间用;分隔)

    var cookies = document.cookie;
    console.log(cookies)  //多个Cookie用;分割
    var arr = cookies.split(';');
    for(var i = 0;i<arr.length;i++){
        var cookie = arr[i];  //键值对用=分割
        var cookiePair = cookie.split('=');
        console.log(cookiePair[0]+'='+cookiePair[1];
    }

   PS:注意cookie键名中可能会被浏览器添加了空白字符,需要trim()操作。

Cookie的生命周期:
    若没有指定expires属性,创建的Cookie其实只是保存在内存中,浏览器已关闭也就被销毁了。
    可以在保存Cookie时使用expires指定其生存周期。

    document.cookie='uid=7788';
    var time = new Date().getTime() + 1000*3600*24*30;
    var exp = new Date(time);
    document.cookie='uname=tom;expires='+exp.toGMTString();

   PS:同理,可以把expires设置为一个过去的时间,就可以实现删除Cookie的效果。


= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = Cookie工作原理

Cookie工作原理:
    Cookie是识别用户,实现状态保持的最佳方式之一。具体分为如下两种类型:
        会话Cookie:保存在客户端内存中,关闭即删除。
        持久Cookie:保存在客户端文件系统中,可长久使用。
   
    客户端发送请求给服务器端,服务器端响应给客户端。

Cookie与会话跟踪:

    当客户端在当前web站点的多个页面间进行访问时,可以使用Cookie对该会话过程进行跟踪记录——购物车。

Cookie安全性:
    浏览器不会把A站点的Cookie回传给B站点,且Cookie中的敏感数据一般都是加密保存的,所以Cookie技术本身并没有太大的安全问题。
    但是,若客户端被木马病毒控制,Cookie可能被黑客盗取并骗取服务器的信任。
    广告联盟的存在,导致Cookie被滥用,侵犯了用户的个人隐私。
分享到:
评论

相关推荐

    Cookie,Cookie的使用

    后来人们就发明了Cookie技术,当用户访问网页时,它能够在访问者的机器上创立一个文件,我们把它叫作Cookie,写一段内容进去,来标识不同的用户。如果下次用户再访问这个网页的时候,它又能够读出这个文件里面的内容...

    session与cookie的内容.doc

    session与cookie的内容session与cookie的内容session与cookie的内容session与cookie的内容session与cookie的内容session与cookie的内容session与cookie的内容session与cookie的内容session与cookie的内容session与...

    Session Cookie的HttpOnly和secure属性

    一、属性说明: 1 secure属性 ...也就是说两个属性,并不能解决cookie在本机出现的信息泄漏的问题(FireFox的插件FireBug能直接看到cookie的相关信息)。 二、实例 项目架构环境:jsp+servlet+applet

    C#获取本地Cookie

    可以随意获取本地存储的Cookie,这是获取IE的Cookie,要想获取其他浏览器Cookie,需要将里面的工具类的路径改一改,注释已写好,适用Win7以上,通过获取本地Cookie文件内容进行转换成Cookie,没有调用第三方dll,...

    基于selenium的网易邮箱自动登录爬取cookie以及邮件内容(混杂request\urllib)

    cookie更新就是一个很大的隐患,需要再次去网页检查拿取,自动化又需要添加手动环节,不完美,因此,需要一个新的手段,只需要账户的用户名和密码,即可进行自动访问爬取新内容。这里尝试用urllib和request进行访问...

    根据http获取cookie内容代码

    此demo用于获取http的报文头信息,vs2019编译,可以编译运行,已测试通过,放心使用。.........

    jquery.cookie.js包

    内容包含jquery.cookie.js包,“记住密码”功能使用cookie包的具体代码实现

    删除flashcookie和cookie(已经修改过了,alpha1.0.1版本)

    这是我看了2013的3.15晚会的内容,编写的一个小程序。可以删除cookie,也包括FlashCookie。是用java编写的。各位可以放心使用。我在windows7的环境中,没有问题。已经修改过了,alpha1.0.1版本 详细说明: 该软件...

    Cookie&Session;思维导图

    新手实用,内容详细,内含cookie以及session的定义,价值,使用的方法...

    jsp cookie+session实现简易自动登录

    本文实例为大家分享了jsp cookie+session实现简易自动登录的具体代码,供大家参考,具体内容如下 关闭浏览器只会使存储在客户端浏览器内存中的session cookie失效,不会使服务器端的session对象失效。 如果设置了...

    删除flashcookie和cookie

    这是我看了2013的3.15晚会的内容,编写的一个小程序。可以删除cookie,也包括FlashCookie。是用java编写的。各位可以放心使用。我在windows7的环境中,没有问题。 详细说明: 该软件,可以手动配置,使部分需要保留...

    用ASP.NET加密Cookie数据

    其次,Cookie数据以Cookie文件格式存储在浏览者计算机的cache目录里,其中就包含有关网页、密码和其他用户行为的信息,那么只要进入硬盘就能打开Cookie文件。图1是一个Cookie文件的内容:    如果你未曾留意你的...

    Web应用安全:Cookie参数越权.pptx

    如果有的话,会读取Cookie中的内容,来判断使用者,并送出相应的网页内容,比如在页面显示欢迎你的标语,或者让你不用输入ID、密码就直接登录等等。 Cookie参数越权 2、什么是Cookie 简单的说就是: (1) Cookie是以...

    用Cookie实现web网站的浏览过的内容,通俗易懂

    用Cookie实现web网站的浏览过的内容,通俗易懂,带文章说明:

    cookie示例

    cookie是示例介绍 去下载了一本电子书, http://www.ixdzs.com/down/62453_4?c=24906480 重生之神级学霸... , 但是现在的的电子书章节和整体内容都比较多, 性能是个大瓶颈.. 这些是我网上下的epub书籍的截图预览:

    PHP100视频教程 32:PHP5中Cookie与 Session详解

    1、Cookie和Session简介与区别Session信息是存放在server端,但session id是存放在client cookie的,当然php的session存放方法是多样化的,这样就算禁用cookie一样可以跟踪Cookie是完全保持在客户端的如:IE firefox...

    asp.net中Cookie的用法

    asp.net中Cookie的用法,排版优雅,内容详细

    如何使用localstorage代替cookie实现跨域共享数据问题

    因为网站系统的日益庞大,不同域名业务,甚至不同合作方网站的cookie可能或多或少需要进行共享使用,遇到这个情况的时候,大家一般想到的是使用登录中心分发cookie状态再进行同步进行解决,成本较高而且实施起来比较...

    python使用cookie库操保存cookie详解

    Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理。要在用户浏览器上安装cookie,HTTP服务器向HTTP响应添加类似以下内容的HTTP报头: 复制代码 代码如下:Set-Cookie:session=8345234;expires=Sun,15-...

    Cookie的应用技巧

    后来人们就发明了Cookie技术,当用户访问网页时,它能够在访问者的机器上创立一个文件,我们把它叫作Cookie,写一段内容进去,来标识不同的用户。如果下次用户再访问这个网页的时候,它又能够读出这个文件里面的内容...

Global site tag (gtag.js) - Google Analytics