`

cookies原理

 
阅读更多

实际上,Cookie的作用就是与服务器互动
用户登录:在很多网站的登录页面中都可以看到一个Cookie选项,多用于询问用户在多长时间不需要再登录,如一天、一个月或一年等。这就需要使用Cookie技术,在用户第一次登录时,使用Cookie记录下了用户的信息,并让其保存一天、一个月或一年。只要Cookie没有过期,那么用户在下次访问需要身份验证时,就会通过Cookie将信息传递到服务器上,避免了用户的重复登录。
电子商务:在电子商务中使用最多的就是购物车和最近浏览过的商品。这两项都使用了Cookie技术。当用户看到需要购买的商品时,浏览器可以将这些商品的信息写在Cookie中,此时的Cookie相当于购物车,只不过购物车中存放的不是商品,而是商品的信息。在用户最后结账时,可以将所有的商品信息从Cookie中取出,统一付款。最近浏览过的商品的处理方式相同,也是将用户最近浏览过的商品信息存放在Cookie中,当用户下次再访问该电子商务网站时,可以看到自己上次浏览过哪些商品。
在电子商务中,使用Cookie还可以将购物做得更人性化例如,通过Cookie记录用户浏览过的商品信息,再通过分析这些商品的共性来为用户推荐相关商品。
博客:博客是目前网络中流行的网络日记。不同的用户都可以在博客中发表文章,也可以装饰自己的博客风格,如背景颜色、文字大小等。这些都可以先写在Cookie中,在用户确定之后,才一次性提交到服务器上。


Cookie的主要作用是在客户端和服务器端之间传递信息。Cookie中最重要的参数为Cookie名和Cookie值,除此之外,还有用于设置生存期的expires、用于设置路径的path、用于设置域的domain和用于设置安全性的 secure也是Cookie中的参数。

1.创建或修改一个Cookie的语法代码如下所示:
document.cookie = "name=value"
在以上代码中,name为Cookie名,value为Cookie值。如果要创建多个Cookie,可以多次使用以上代码。使用Document对象的cookie属性,也可以读取Cookie文件中的Cookie信息。如以下代码所示:
var cookies = document.cookie
在以上代码中,cookies为变量名,document.cookie可以取得整个Cookie文件中的信息,因此,变量cookies有可能会包括多个Cookie的信息。

2.Cookie的生存期,也称为Cookie的有效期或失效期,即Cookie可以保持的时间。在默认情况下,Cookie在浏览器窗口关闭的时候会自动失效,不能再被访问,但可以通过expires来设置Cookie的生存期。其语法代码如下所示:
document.cookie = "name=value; expires=date"

3. 在默认情况下,只有与创建Cookie的网页在同一个虚拟目录或子虚拟目录下的网页才可以访问该Cookie。如果想要让虚拟目录的父级和父级以上目录下的文件可以访问当前文件所创建的Cookie,那么就需要设置Cookie的路径。其语法代码如下所示:
document.cookie = "name=value; path=path"
document.cookie = "name=value; expires=date;path=path"
Eg:
document.cookie = "cookieUserName=" + userName + ";path=/";
document.cookie = "cookieUserPassword="+userPassword;

4. 例如,www.aspxfans.com下文件创建的Cookie就不能被book.aspxfans.com下的文件访问。如果想要让不同域中的文件互相访问Cookie,就必须要设置Cookie的域,其语法代码如下所示:
document.cookie = "name=value; path=path;domain=domain"
Eg:
document.cookie = "cookieUserName=" + userName + ";path=/;domain:.aspxfans.
com";
document.cookie = "cookieUserPassword="+userPassword;

5. 在Cookie中设置secure,就可以要求浏览器使用加密的传输协议传输Cookie。如果传输协议不是加密协议,那么该Cookie将不会被传输。secure的语法代码如下所示:
document.cookie = "name=value; secure"

6. 一个网页可以创建多个Cookie,但多个Cookie可能会放在同一个cookie文件中。
每个Cookie所存放的数据不能超过4KB。
每个Cookie文件中存储的Cookie个数不能超过300个。
每个域可以创建的Cookie文件不能超过20个。
浏览器可以通过设置来接受或拒绝访问Cookie

7. 判断客户端是否禁用了cookie
var c="jscookietest=valid";
document.cookie=c;
if(document.cookie.indexOf(c)==-1)
location="html/zh-CN/nocookies.html";
//不支持Cookie

8. 正常的cookie只能在一个应用中共享,即一个cookie只能由创建它的应用获得。
1.可在同一应用服务器内共享方法:设置cookie.setPath("/");
    本机tomcat/webapp下面有两个应用:cas和webapp_b,
    1)原来在cas下面设置的cookie,在webapp_b下面获取不到,path默认是产生cookie的应用的路径。
    2)若在cas下面设置cookie的时候,增加一条cookie.setPath("/");或者cookie.setPath("/webapp_b/");就可以在webapp_b下面获取到cas设置的cookie了。
    3)此处的参数,是相对于应用服务器存放应用的文件夹的根目录而言的(比如tomcat下面的webapp),因此cookie.setPath("/");之后,可以在webapp文件夹下的所有应用共享cookie,而cookie.setPath("/webapp_b/");是指cas应用设置的cookie只能在webapp_b应用下的获得,即便是产生这个cookie的cas应用也不可以。
    4)设置cookie.setPath("/webapp_b/jsp")或者cookie.setPath("/webapp_b/jsp/")的时候,只有在webapp_b/jsp下面可以获得cookie,在webapp_b下面但是在jsp文件夹外的都不能获得cookie。
    5)设置cookie.setPath("/webapp_b");,是指在webapp_b下面才可以使用cookie,这样就不可以在产生cookie的应用cas下面获取cookie了
    6)有多条cookie.setPath("XXX");语句的时候,起作用的以最后一条为准。
    6)设置多个path的方法???

2.跨域共享cookie的方法:设置cookie.setDomain(".jszx.com");
    A机所在的域:home.langchao.com,A有应用cas
    B机所在的域:jszx.com,B有应用webapp_b
    1)在cas下面设置cookie的时候,增加cookie.setDomain(".jszx.com");,这样在webapp_b下面就可以取到cookie。
    2)这个参数必须以“.”开始。
    3)输入url访问webapp_b的时候,必须输入域名才能解析。比如说在A机器输入:http://lc-bsp.jszx.com:8080/webapp_b,可以获取cas在客户端设置的cookie,而B机器访问本机的应用,输入:http://localhost:8080/webapp_b则不可以获得cookie。
    4)设置了cookie.setDomain(".jszx.com");,还可以在默认的home.langchao.com下面共享

分享到:
评论

相关推荐

    COOKIES原理以及解析.pdf

    COOKIES原理以及解析.pdf

    cookies的注入方法和原理.doc

    现在很多网站都采用了通用防注入程序,那么对于这种网站,我门是否就束手无策了呢?答案是否定的,因为我们可以采用cookie 注入的方法,而很多通用防注入程序对这种注入方式都没有防备。

    cookie欺骗详解与防御技术

    基于cookies的攻击与防御技术,讲述cookies攻击原理,攻击案例,以及防御技术

    SYN Cookie原理及在Linux内核中的实现

    在目前以IPv4为支撑的网络协议上搭建的网络环境中...本文就分别介绍一下SYN Flood攻击和SYN Cookie的原理,更重要的是介绍Linux内核中实现SYN Cookie的方式。最后,本文给出一种增强目前Linux中SYN Cookie功能的想法。

    Cookies 欺骗漏洞的防范方法(vbs+js 实现)

    如果大家发现了代码中的任何问题,欢迎拍砖~本人皮厚~ 一、攻击原理 Cookies 欺骗主要利用当前网络上一些用户管理系统将用户登录信息储存在 Cookies 中这一不安全的做法进行攻击,其攻击方法相对于 SQL 注入漏洞等...

    php利用cookies实现购物车的方法

    php购物车是在电子商务网站会用到的,一种像超市购物车一样的,选好商品了,先放到自己的购物车里面等好了再到柜台结算,本款php购物车完全按照这个原理来实例的,感兴趣的朋友可以来看看,该实例利用了cookie来实现,代码...

    javascript高级教程

    所以我要向你们介绍cookies 的工作原理,但是在正式开始之前,我们先谈两个JavaScript 内容:有趣的字符串处理以及相关数组。>> 由于cookies牵扯到向用户的硬盘写盘和读取信息,所以就涉及 一个保密性的...

    cookie机制详解

    cookie机制详解 Cookie 工作原理详细介绍

    Python3网络爬虫基础+实战案例 Scrapy、Flask、PySpider、Tushare

    爬虫基本原理讲解 Urllib库基本使用 Requests库基本使用 正则表达式基础 BeautifulSoup库详解 PyQuery详解 Selenium详解 实战篇 Requests+正则表达式爬取猫眼电影 分析Ajax请求并抓取今日头条街拍美图 使用...

    TCP SYN Flood分析

    数据包分析,tcp攻击,syn攻击,让你如何分析ddos攻击,让你了解ddos攻击的原理。

    application+cookie

    application和cookie的介绍,使用方法,cookie的原理介绍。cookie缓存。

    JSON Web Tokens的实现原理

    解决跨域问题:这种基于Token的访问策略可以克服cookies的跨域问题。 服务端无状态可以横向扩展,Token可完成认证,无需存储Session。 系统解耦,Token携带所有的用户信息,无需绑定一个特定的认证方案,只需要知道...

    Node.JS如何实现JWT原理

    1.为什么需要会话管理 ...所以出现了cookies session还有jwt这几...session和cookies是有联系的,session就是服务端在客户端cookies种下的session_id, 服务端保存session_id所对应的当前用户所有的状态信息。每次客户端请

    IECookiesView

    查看Cookies,web开发中了解Http协议,请求头相关内容时,可以使用,非常方便,包括Http如何编码,加密等信息,深层次的了解Cookies的机制,实现原理,需要的朋友可以看看。

    XSS跨站脚本攻击剖析与防御

    第1章 XSS初探,主要阐述了XSS的基础知识,包括XSS的攻击原理和危害。第2章 XSS利用方式,就当前比较流行的XSS利用方式做了深入的剖析,这些攻击往往基于客户端,从挂马、窃取Cookies、会话劫持到钓鱼欺骗,各种攻击...

    Nodejs 和Session 原理及实战技巧小结

    3 如果使用了cookies,那么任何对该域名的访问都会带上cookies 目前新型网站更多的采用浏览器缓存,cookie会存在一些问题,比如你每次往服务器提交请求时,都会带上cookie,无论是你访问的是不是静态图片。 cookie...

    JavaScript进阶教程(第二课)第1/3页

    今天我们将学习一项很有用而且很有趣的内容:cookies – 这是用来记录访问过你的网页的...所以我要向你们介绍cookies的工作原理,但是在正式开始之前,我们先谈两个JavaScript内容:有趣的字符串处理以及相关数组。

    Yii框架中用response保存cookie,用request读取cookie的原理解析

    主要介绍了Yii框架中用response保存cookie,用request读取cookie的原理,结合实例形式分析了Request.Cookies与Response.Cookies的区别及相关使用技巧,需要的朋友可以参考下

    ASP.NET Session的实现原理分析

    用户向服务器提交请求时,服务器都会给每个用户分配一个SessionId,保存在用户浏览器的Cookies中,SessionId是全局的,也是说只要Cookies还存在,服务器会认为这是同一个用户,从而实现了每个用户都有自己独立的全局...

Global site tag (gtag.js) - Google Analytics