cookie是一小段文本信息,将数据保存在客户端,设计初衷是为了弥补http协议无状态的不足。客户端请求服务器时,如果服务器需要记录该用户的状态,就使用response向客户端颁发一个cookie,客户端会把cookie保存起来。当浏览器再次访问该网站时,浏览器会把请求的网址连同该cookie一起提交给服务器。我用一个简单的servlet工程对上述定义进行验证时发现,当一个前台jsp页向后台servlet类提交请求时,类中有代码Cookie[] co=request.getCookies(),而此时的co长度为1,也就是说存在一个cookie,显示的cookie的name是jsessionid(jsessionid只是tomcat中对session id的叫法,在其它容器里面,不一定就是叫jsessionid了),值是一个很长的无规则字符串,但类中并没有创建cookie的语句,为什么会出现cookie呢?这是因为这个cookie是session cookie,当你访问web时,服务端都会为你开壁一块内存区间,用以存放你这次会话的一些内容,可以理解为session,那么就需要一个东西来标志这个内存区间是你的而不是别人的,这个东西就是session id,也就是jsessionid的值,和在类中创建一个httpsession并取出这个session的id的值是一样的。只要你浏览器没有关闭,你每向服务器发请求,服务器就会从你发送过来的cookies中拿出这个session id,然后根据这个session id到相应的内存中取你之前存放的数据。但是,如果你退出登陆了,服务器会清掉属于你的内存区域,所以你再登的话,会产生一个新的session了。注意的是这个保存jsessionid的cookie是存在浏览器的内存中,而不是本地硬盘内。
persistent cookies,就是可以保存在硬盘里的cookie(设置了一定有效期限),在C:\Documents and Settings\你的用户名\Local Settings\Temporary Internet Files(Internet选项-设置-查看文件)和C:\Documents and Settings\你的用户名\Cookies中。cookie的属性和方法可以参见cookie的API,在这想分析下path和domain属性。Cookie本身是不可跨域名的,如果想让所有xxx.com名下的二级域名都可以使用改cookie,就需要设置domain参数,cookie.setDomain(“.xxx.com”)。path属性决定允许访问cookie的路径(ContextPath),设置为”/”时允许所有路径使用cookie,属性需要使用符号”/”结尾,如:”/session/”,注意的是页面只能获取它属于的path的cookie,例如/session/test/a.jsp不能获取路径为/session/abc/的cookie。
如果要修改cookie,只需新建一个同名的cookie,并添加到response中,将maxAge设置为0表示删除cookie。注意修改或删除时新建的cookie除了value和maxAge外其他属性都要一样。
并非全部原创,借鉴了其他人总结
分享到:
相关推荐
### 认识并深入了解Cookie #### 一、什么是Cookie? **定义:** Cookie是一种由服务器发送给客户端(通常是浏览器)的特殊信息,这些信息以文本文件的形式存储在客户端的计算机上。每当客户端向服务器发送请求时,...
总结,理解并正确使用Cookie对于Android开发者来说至关重要,无论是为了实现用户登录状态的保持,还是提供个性化的用户体验,都需要对Cookie有深入的认识。在实际开发中,应遵循最佳实践,确保用户数据的安全性和...
在IT安全领域,尤其是Web...通过实践DVWA中的cookie欺骗场景,你可以深入理解这种攻击方式,提高对Web安全的认识,这对于防御者来说是非常有价值的。不过,请确保你是在合法且受控的环境中进行此类实验,以免触犯法律。
综上所述,理解并掌握网页Cookie的使用对于进行Web开发至关重要,无论是前端还是后端都需要对这一概念有清晰的认识。通过JavaScript和浏览器开发者工具,我们可以轻松地获取和操作Cookie,以实现各种功能。同时,也...
总的来说,“Webcookie采集监控工具”是一个强大且易用的工具,它让普通用户也能深入了解网络cookies的工作机制,有助于提高对网络安全和个人数据保护的认识。通过熟练掌握这类工具的使用,我们可以更好地理解网络...
EditThisCookie这款插件不仅支持主流的浏览器,如Google Chrome、Firefox等,而且其简洁的界面和直观的操作使得即便是对技术不太熟悉的用户也能快速上手。虽然插件本身提供了免费版本,但开发者通过收费版提醒用户...
对于Tenda路由器的用户,了解这样的漏洞利用工具可以帮助他们认识到潜在的风险,并采取必要的预防措施,如安装最新的安全更新、更改默认密码、启用更强的网络加密等。 综上所述,这个“Tenda路由cookie漏洞利用工具...
4. **安全与隐私**:认识到共享和使用Cookie的风险,确保个人信息的安全。 5. **自动化流程**:设计和实现自动化抢购流程,包括登录、监控商品、加购和支付等步骤。 6. **实时更新**:定期检查和更新Cookie的有效性...
学习和使用"flask-session-cookie-manager",不仅可以提升我们对Flask框架的理解,还能增强对网络安全攻防的认识。在实际操作中,我们可以用它来测试应用的安全性,发现潜在漏洞,同时也能通过它来设计和解决CTF比赛...
通过理解并使用EditThisCookie这样的工具,用户可以更好地理解和控制他们的网络体验,同时对网络隐私有一个更深入的认识。对于开发者来说,这是一个强大的调试工具,能够提升工作效率。而对于普通用户,了解如何使用...
通过对这个存在漏洞的网站的研究,我们可以提升对Web安全的认识,学会如何预防和应对SQL注入攻击,保护用户的个人信息和系统的安全性。同时,这也为网络安全研究人员提供了宝贵的实战练习平台。
Cookie虽然是个很简单的东西,但它又是WEB开发中一个很重要的客户端数据来源,而且它可以实现扩展性很好的会话状态,所以我认为每个WEB开发人员都有必要对它有个清晰的认识。本文将对Cookie这个话题做一个全面的描述...
原理: 用户通过浏览器访问web服务器时,服务器会给客户端发一些信息,这些信息保存在Cookie中,当浏览器在次访问服务器时,就会在请求头中将Cookie发送给服务器,方便服务器对浏览器做出正确的响应。 注意:Cookie...
在此背景下,一些不法分子可能会使用iframe或flash等手段进行跨域盗取cookie的操作,但这些技术随着浏览器和Web标准的更新已经逐渐被限制或废弃。 在内容中还提到了通过JavaScript发起GET请求来获取信息的示例,如...
在介绍HTML5 web缓存前,来认识一下cookie和session: session: 由于HTTP是无状态的,你是谁?你干了什么?抱歉服务器都是不知道的。 因此session(会话)出现了,它会在服务器上存储用户信息以便将来使用(比如...
因此,在使用Cookie进行用户认证时,必须认识到其安全性是有限的,并采取额外的安全措施。 2. 持久化登录Cookie的认证机制:当用户选择“记住我”时,系统会生成一个包含用户名、一个大随机数以及可能的过期时间的...
这个环境提供了实践这些概念的机会,通过模拟真实世界的漏洞,帮助开发者提高对安全问题的认识和解决能力。通过阅读《从开发角度理解漏洞成因》等相关文章,可以深入理解每个漏洞的工作原理和防范措施。 在压缩包中...
首先,我们来认识一下Cookie。Cookie是服务器发送到用户浏览器并保存在本地的一小块数据,它会在浏览器下次向同一服务器再发起请求时被携带并发送到服务器上。Cookie机制的优点是简便易用,可以有效地保存用户的状态...
#### 三、认识Cookie Cookie是一种小型的数据存储技术,它被用来存储客户端的信息。Cookie的数据结构类似于HashMap结构,主要由Key和Value组成。 **3.1 Cookie的主要属性** - **Name 属性**:即Cookie的名称。 - ...