Cookies最初设计时,是为了CGI编程。但是,我们也可以使用Javascript脚本来操纵cookies。在本文里,我们将演示如何使用 Javascript脚本来操纵cookies。(如果有需求,我可能会在以后的文章里介绍如何使用Perl进行cookie管理。但是如果实在等不得,那么我现在就教你一手:仔细看看CGI.pm。在这个CGI包里有一个cookie()函数,可以用它建立cookie。但是,还是让我们先来介绍 cookies的本质。
在Javascript脚本里,一个cookie 实际就是一个字符串属性。当你读取cookie的值时,就得到一个字符串,里面当前WEB页使用的所有cookies的名称和值。每个cookie除了 name名称和value值这两个属性以外,还有四个属性。这些属性是: expires过期时间、 path路径、 domain域、以及 secure安全。
引用
Expires – 过期时间。指定cookie的生命期。具体是值是过期日期。如果想让cookie的存在期限超过当前浏览器会话时间,就必须使用这个属性。当过了到期日期时,浏览器就可以删除cookie文件,没有任何影响。
Path – 路径。指定与cookie关联的WEB页。值可以是一个目录,或者是一个路径。如果/head/index.html 建立了一个cookie,那么在/head/目录里的所有页面,以及该目录下面任何子目录里的页面都可以访问这个cookie。这就是说,在/head /stories/articles 里的任何页面都可以访问/head/index.html建立的cookie。但是,如果/zdnn/ 需要访问/head/index.html设置的cookes,该怎么办?这时,我们要把cookies的path属性设置成“/”。在指定路径的时候,凡是来自同一服务器,URL里有相同路径的所有WEB页面都可以共享cookies。现在看另一个例子:如果想让 /head/filters/ 和/head/stories/共享cookies,就要把path设成“/head”。
Domain – 域。指定关联的WEB服务器或域。值是域名,比如goaler.com。这是对path路径属性的一个延伸。如果我们想让 dev.mycompany.com 能够访问bbs.mycompany.com设置的cookies,该怎么办? 我们可以把domain属性设置成“mycompany.com”,并把path属性设置成“/”。FYI:不能把cookies域属性设置成与设置它的服务器的所在域不同的值。
Secure – 安全。指定cookie的值通过网络如何在用户和WEB服务器之间传递。这个属性的值或者是“secure”,或者为空。缺省情况下,该属性为空,也就是使用不安全的HTTP连接传递数据。如果一个 cookie 标记为secure,那么,它与WEB服务器之间就通过HTTPS或者其它安全协议传递数据。不过,设置了secure属性不代表其他人不能看到你机器本地保存的cookie。换句话说,把cookie设置为secure,只保证cookie与WEB服务器之间的数据传输过程加密,而保存在本地的 cookie文件并不加密。如果想让本地cookie也加密,得自己加密数据。
分享到:
相关推荐
### Cookie属性及操作详解 #### 一、引言 在Web开发中,Cookie是一种非常重要的技术,用于在用户的浏览器上存储信息。通过Cookie,开发者可以在客户端保存用户的一些偏好设置、登录状态等信息,使得用户体验更加...
本文将深入探讨Cookie的属性及操作,帮助你全面理解并掌握Cookie的相关知识。 一、Cookie的基本概念 Cookie是由服务器端发送到客户端(浏览器)的一小段文本信息,存储在用户的本地硬盘上。每当用户再次访问同一...
开发者可以通过调用库提供的函数或装饰器,轻松地为响应添加安全头,并设置安全的Cookie属性。例如,在Flask中,可以使用`@app.after_request`装饰器来添加安全头: ```python from flask import Flask, make_...
### Cookie的一些属性 在Web开发领域,Cookies是一种用于存储特定用户信息的重要机制,为Web程序提供了一种非常有用的会话管理方式。多年来,JavaScript开发者在Cookies的使用上积累了丰富的经验,而ASP.NET通过`...
3. **设置Cookie属性**: 可以通过调用`setMaxAge()`设置Cookie的生命周期,单位为秒。如果不设置,则默认为浏览器会话结束时删除。`setPath()`和`setDomain()`用于指定Cookie的可见范围,例如: ```java cookie....
在源码层面,开发者可以通过JavaScript的Document.cookie属性来读写Cookie。这个属性返回一个字符串,包含所有Cookie的名称和值,用分号分隔。添加新Cookie时,需要将名称、值和其它属性以键值对的形式组合成字符串...
2. **设置Cookie属性**: Cookies有多种属性,如有效期(maxAge)、路径(path)、域(domain)等,可以通过`setXXX`方法进行设置。例如,设置Cookie的有效期为一天(以秒为单位): ```java newCookie.setMaxAge...
在JavaScript中,处理Cookie的主要方法是通过Document对象的cookie属性。例如,设置一个Cookie: ```javascript document.cookie = "username=" + encodeURIComponent(username) + "; expires=" + expirationDate....
8. **Cookie属性注意事项**:Cookie的属性,如路径、域名、安全标志和HTTP Only等,都是在服务器端设置的,用于控制Cookie的使用范围和安全性。一旦设置,只能在发送到客户端时影响,无法在服务器端读取。 综上所述...
首先,secure属性是防止信息在传递的过程中被监听捕获后信息泄漏,HttpOnly属性的目的是防止程序获取cookie后进行攻击。 其次,GlassFish2.x支持的是servlet2.5,而servlet2.5不支持Session Cookie的"HttpOnly"属性...
2. 设置Cookie属性:可以设置Cookie的有效期、路径、域等属性。有效期通过`Expires`属性设置,路径通过`Path`属性,域通过`Domain`属性。例如,将Cookie设置为只对根目录有效并有效期一天: ```csharp cookie....
`Cookie`类提供了设置和获取Cookie属性的方法,如`setName()`, `setValue()`, `setMaxAge()`, `setPath()`和`setDomain()`。 在实际应用中,`CookieUtil`类可以帮助开发者避免重复的代码,提高代码的可读性和可维护...
2. **设置Cookie属性**:通过`setXXX`方法(如`setMaxAge`、`setPath`、`setDomain`等)来设定Cookie的各种属性。 3. **添加Cookie到响应**:使用`response.addCookie(cookie)`将Cookie添加到HTTP响应头中,这样它就...
3. **设置Cookie属性**:可以通过`HttpCookie`对象的属性来设置Cookie的过期时间、路径、域等。例如: ```csharp myCookie.Expires = DateTime.Now.AddHours(1); // 设置1小时后过期 myCookie.Path = "/"; // ...
在WebBrowser中,Cookie信息可以通过Document.Cookie属性获取,然后将其传给HttpWebRequest。在下面的代码中,我们首先创建了一个CookieContainer对象,然后将WebBrowser中的Cookie信息保存在里面。 ```csharp ...
**设置Cookie属性**: - **路径**:指定Cookie适用的路径。 ```java cookie.setPath("/"); ``` - **过期时间**:控制Cookie的生存周期。 ```java cookie.setMaxAge(60 * 60); // 设置过期时间为1小时 ``` - **...
2. **创建Cookie**:在服务器端,开发者通常使用特定语言(如Java的HttpServletResponse接口的addCookie方法,或者JavaScript的document.cookie属性)来设置Cookie。在客户端,浏览器自动管理接收到的Cookie。 3. *...
JavaScript可以通过document.cookie属性来读取、设置和删除cookie。document.cookie是一个字符串,包含了当前域下的所有cookie,各cookie之间以分号和空格分隔。 3. 读取Cookie 要读取特定名称的cookie,可以使用...
5. **管理Cookie属性**: - `SetCookieDomain(string domain)`: 设置Cookie的域名。 - `SetCookiePath(string path)`: 设置Cookie的路径。 - `SetCookieSecure(bool isSecure)`: 设置Cookie是否仅通过HTTPS传输。...
3. 添加其他cookie属性,如过期时间(以毫秒为单位的Date对象)、路径(默认为当前页面路径,可以设置为整个站点`/`)、域(默认为当前域名,可指定子域名或跨域)等。例如: ```javascript var date = new Date()...