实际上,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下面共享。
分享到:
相关推荐
SYN Cookie原理与Linux内核实现详解 SYN Flood攻击是一种常见的分布式拒绝服务(DoS)攻击手段,尤其在网络环境基于IPv4的TCP/IP协议栈中。这种攻击利用TCP协议的三次握手流程,通过发送大量伪造源地址的SYN请求,...
cookie 原理解析 Cookie 是一种机制,用于弥补 HTTP 协议无状态的不足,实现会话跟踪。Cookie 是由 W3C 组织提出,最早由 Netscape 社区发展的一种机制。目前 Cookie 已经成为标准,所有的主流浏览器如 IE、...
"COOKIE注入原理动画教程" 这个标题明确指出了我们要学习的主题——COOKIE注入的原理,而且是以动画的形式进行教学。这表明我们将通过动态、视觉化的方式了解这个网络安全中的概念。 **描述分析:** 描述简单明了,...
【Session与Cookie原理简述】 Session和Cookie是两种在Web开发中常见的用户状态管理机制,它们主要用于在HTTP协议无状态的特性下跟踪用户状态。理解它们的原理对于编写高效的Web应用至关重要。 **Cookie原理** ...
了解Cookie的工作原理和特性对于Web开发至关重要,尤其是在处理用户认证、保持会话状态等场景下。然而,随着技术的发展,Web Storage(localStorage和sessionStorage)以及IndexedDB等现代存储解决方案提供了更大...
##### 2.3 Cookie原理 1. **创建Cookie**:服务器创建并设置Cookie对象的属性。 2. **发送Cookie**:服务器通过HTTP响应头`Set-Cookie`发送Cookie信息给客户端。 3. **客户端存储**:客户端将接收到的Cookie信息...
1. **Cookie原理**:理解cookie的工作机制是学习注入的基础,它是服务器发送到用户浏览器并存储的一小块数据,用于识别用户身份和维持会话状态。 2. **安全风险**:不当的cookie管理可能导致会话劫持、身份冒用等...
在这个资料包中,你可能会找到关于Cookie原理、使用方法以及Java实现Cookie功能的相关教程和示例。 【描述】提到的“我把csdn上的cookie的资料都下来看了一遍,整理好了”,意味着这个压缩包可能包含了多篇博客文章...
1. **Cookie原理**: - Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器保存,当用户再次访问同一网站时,浏览器会将Cookie返回给服务器。Cookie用于存储用户状态信息,如登录状态、购物车内容...
1. **Cookie原理与作用**:Cookie是网站为了辨别用户身份、保持会话状态而存储在用户本地的数据。例如,登录状态、购物车信息、个性化设置等都可以通过Cookie来实现。 2. **管理Cookie的重要性**:管理Cookie可以...
1. **Cookie原理**: - Cookie是Web服务器在用户的浏览器上存储的小型文本文件,用于跟踪和维护用户状态。 - 在SSO场景下,Cookie通常用于存储用户的身份验证信息,如JWT(JSON Web Token)或自定义的认证令牌。 ...
**XSS盗取Cookie原理分析** XSS攻击中,攻击者的目标是将恶意脚本插入到受害者的浏览页面中。这个脚本通常设计为在用户浏览器中读取Cookie并将其发送给攻击者。以下为攻击步骤: 1. 攻击者在目标网站上注入恶意XSS...
1. **Cookie原理**:了解Cookie的工作机制,包括如何设置、读取和管理Cookie,以及它们在会话管理、个性化设置等方面的作用。 2. **SQL注入漏洞**:理解什么是SQL注入,它是如何发生的,以及攻击者可以利用这种漏洞...
介绍下cookie和session之间是咋交互的。原理是啥
本篇学习笔记将深入讲解Cookie的工作原理以及在`urllib`库中的应用。 Cookie是一种小型文本文件,由服务器发送到用户的浏览器,并由浏览器保存。它的主要用途是识别用户身份、维持会话状态,比如当你登录某个网站后...
采用Cookie原理,对合法用户页面提供一个多重加密Cookie,点播时对Cookie进行验证实现防盗链、下载的功能。由于Cookie本身的特性,需要Web服务和RealSystem服务处于同一个域下才能接收到Cookie信息,所以推荐Web服务...
1. **Cookie的定义与工作原理** - Cookie是由Web服务器发送到用户的浏览器并存储在那里的一小块信息,当用户再次访问同一网站时,浏览器会将这些信息返回给服务器。 - 主要分为Session Cookie和Persistent Cookie...
#### 一、Cookie 原理 在现代Web应用中,单点登录(Single Sign-On,简称SSO)是一种让用户只需进行一次登录就能访问多个应用的技术。为了实现这一功能,Cookie起着至关重要的作用。 **1.1 Cookie与JSESSIONID** ...