当前位置:首页 » 行业资讯 » 周边资讯 » 正文

HTTP Cookies在HTTPS中的角色:安全与性能考量

HTTP Cookies在HTTPS中的角色:安全与性能考量

一、引言

随着互联网技术的不断发展,网络安全问题日益受到关注。

HTTPS作为一种安全的网络通信协议,广泛应用于网站和Web应用程序中,以确保数据的传输安全。

HTTP Cookies作为Web技术中的重要组成部分,在HTTPS中扮演着重要角色。

本文将探讨HTTP Cookies在HTTPS中的角色,并分析其安全性和性能考量。

二、HTTP Cookies概述

HTTP Cookies是一种服务器发送给客户端的少量数据,以键值对的形式存储。

Cookies被保存在客户端浏览器中,并在后续的请求中由浏览器发送回服务器。

它们被广泛用于识别用户、保存用户偏好、实现会话管理等。

在HTTP协议中,Cookies是必需的,因为它们帮助服务器识别和处理来自同一用户的多个请求。

三、HTTPS中的HTTP Cookies

在HTTPS中,HTTP Cookies的角色与HTTP协议中的有所不同。

HTTPS是一种通过SSL/TLS加密技术实现的安全通信协议,确保数据传输的机密性和完整性。

在HTTPS中,Cookies的传输也是加密的,因此在一定程度上提高了安全性。

HTTPS还为Cookies提供了以下特性:

1. 身份验证:HTTPS可以使用SSL证书对服务器进行身份验证,确保Cookies被发送到正确的服务器,防止中间人攻击。

2. 完整性保护:HTTPS通过SSL/TLS加密技术确保Cookies在传输过程中的完整性,防止被篡改。

四、HTTP Cookies在HTTPS中的安全性考量

尽管HTTPS提高了Cookies的安全性,但仍需注意以下安全性考量:

1. Cookie安全属性设置:在HTTPS中,应确保正确设置Cookie的安全属性,如Secure和HttpOnly。Secure属性确保Cookies只通过HTTPS传输,防止在HTTP连接中泄露。HttpOnly属性禁止JavaScript访问Cookies,降低跨站脚本攻击(XSS)的风险。

2. 避免敏感信息的存储:应避免在Cookies中存储敏感信息,如密码、信用卡信息等。即使使用HTTPS加密传输,仍有可能面临安全风险。

3. 跨站请求伪造(CSRF)风险:虽然Cookies不是导致CSRF的主要原因,但攻击者可以利用Cookies进行CSRF攻击。因此,需要采取其他安全措施,如使用CSRF令牌,以降低CSRF风险。

五、HTTP Cookies在HTTPS中的性能考量

虽然HTTPS和Cookies能提高Web应用的安全性和用户体验,但也会对性能产生影响。以下是一些性能考量:

1. 带宽占用:Cookies会增加HTTP请求的大小,从而占用更多的带宽。为了优化性能,应尽量减少Cookies的大小和数量。

2. 延迟:每次发送带有Cookies的HTTPS请求时,都会增加额外的延迟。为了降低延迟,可以考虑使用域分片或CDN等技术来优化请求分布和加载时间。

3. 会话管理:过多的Cookies可能导致会话管理变得复杂。开发者需要仔细考虑哪些数据需要存储在Cookies中,以及如何在不同会话之间同步这些数据。

六、结论

HTTP Cookies在HTTPS中发挥着重要作用,提高了Web应用的安全性和用户体验。

在利用HTTP Cookies的同时,我们需要关注安全性和性能考量。

通过正确设置Cookie的安全属性、避免敏感信息的存储、采取其他安全措施以及优化性能技术,我们可以充分发挥HTTP Cookies在HTTPS中的优势,提高Web应用的安全性、性能和用户体验。


JavaWeb之Cookie和Session的区别

Session是由应用服务器维持的一个服务器端的存储空间,用户在连接服务器时,会由服务器生成一个唯一的SessionID,用该SessionID为标识符来存取服务器端的Session存储空间。

而SessionID这一数据则是保存到客户端,用Cookie保存的,用户提交页面时,会将这一SessionID提交到服务器端,来存取Session数据。

这一过程,是不用开发人员干预的。

所以一旦客户端禁用Cookie,那么Session也会失效。

服务器也可以通过URL重写的方式来传递SessionID的值,因此不是完全依赖Cookie。

如果客户端Cookie禁用,则服务器可以自动通过重写URL的方式来保存Session的值,并且这个过程对程序员透明。

可以试一下,即使不写Cookie,在使用();取出的Cookie数组的长度也是1,而这个Cookie的名字就是JSESSIONID,还有一个很长的二进制的字符串,是SessionID的值。

大家都知道,http是无状态的协议,客户每次读取web页面时,服务器都打开新的会话,而且服务器也不会自动维护客户的上下文信息,那么要怎么才能实现网上商店中的购物车呢,session就是一种保存上下文信息的机制,它是针对每一个用户的,变量的值保存在服务器端,通过SessionID来区分不同的客户,session是以cookie或URL重写为基础的,默认使用cookie来实现,系统会创造一个名为JSESSIONID的输出cookie,我们叫做sessioncookie,以区别persistent cookies,也就是我们通常所说的cookie,注意sessioncookie是存储于浏览器内存中的,并不是写到硬盘上的,这也就是我们刚才看到的JSESSIONID,我们通常情是看不到JSESSIONID的,但是当我们把浏览器的cookie禁止后,web服务器会采用URL重写的方式传递Sessionid,我们就可以在地址栏看到sessionid=KWJHUG6JJM65HS2K6之类的字符串。

明白了原理,我们就可以很容易的分辨出persistent cookies和sessioncookie的区别了,网上那些关于两者安全性的讨论也就一目了然了,sessioncookie针对某一次会话而言,会话结束session cookie也就随着消失了,而persistentcookie只是存在于客户端硬盘上的一段文本(通常是加密的),而且可能会遭到cookie欺骗以及针对cookie的跨站脚本攻击,自然不如sessioncookie安全了。

通常sessioncookie是不能跨窗口使用的,当你新开了一个浏览器窗口进入相同页面时,系统会赋予你一个新的sessionid,这样我们信息共享的目的就达不到了,此时我们可以先把sessionid保存在persistentcookie中,然后在新窗口中读出来,就可以得到上一个窗口SessionID了,这样通过sessioncookie和persistent cookie的结合我们就实现了跨窗口的session tracking(会话跟踪)。

在一些web开发的书中,往往只是简单的把Session和cookie作为两种并列的http传送信息的方式,sessioncookies位于服务器端,persistentcookie位于客户端,可是session又是以cookie为基础的,明白的两者之间的联系和区别,我们就不难选择合适的技术来开发webservice了。

application,session,cookie三者的区别与作用??

session: 该对象是HttpSession 类型的对象,描述一个客户端与服务器之间的一次通话时段,该段时间内包含客户端的若干次请求和服务器的相应响应,整个时间段session 对象都存在。

常用来实现购物车之类的存储当前用户的数据。

不同用户有各自的不同session 对象。

application: 该对象是ServletContext 类型的对象,描述的是本身Web 程序。

该对象在Web 程序部署到tomcat 服务器时由容器产生,其生命周期至Web 程序从tomcat服务器卸载出去时消失。

是所有客户端能共享的一个全局对象,整个系统只有一份。

Cookie以文件的形式保存的请求信息

cookie是神马?

Cookie,有时也用其复数形式Cookies,指某些网站为了辨别用户身份而储存在用户本地终端上的数据(通常经过加密)。

定义于RFC2109。

它是网景公司的前雇员Lou Montulli在1993年3月的发明。

目录 [隐藏]1 用途2 使用和禁用Cookie2.1 微软 Internet Explorer2.2 Mozilla Firefox2.3 苹果计算机 Safari2.4 Konqueror3 生存周期4 识别功能5 反对cookies者5.1 识别不精确5.2 隐私,安全和广告6 偷窃Cookie和脚本攻击7 Cookies的替代品[编辑] 用途服务器可以利用Cookies包含信息的任意性来筛选并经常性维护这些信息,以判断在HTTP传输中的状态。

Cookies最典型的应用是判定注册用户是否已经登录网站,用户可能会得到提示,是否在下一次进入此网站时保留用户信息以便简化登录手续,这些都是Cookies的功用。

另一个重要应用场合是“购物车”之类处理。

用户可能会在一段时间内在同一家网站的不同页面中选择不同的商品,这些信息都会写入Cookies,以便在最后付款时提取信息。

[编辑] 使用和禁用Cookie用户可以改变浏览器的设置,以使用或者禁用Cookies。

[编辑] 微软 Internet Explorer工具 > Internet选项 > 隐私页调节滑块或者点击“高级”,进行设置.[编辑] Mozilla Firefox工具 > 选项 > 隐私(注: 在Linux版本中,可能会是如下操作:编辑 > 属性 > 隐私 , 而Mac则是:Firefox > 属性 > 隐私)设置Cookies选项设定阻止/允许的各个域内Cookie查看Cookies管理窗口,检查现存Cookie信息,选择删除或者阻止它们[编辑] 苹果计算机 SafariSafari > 预置 > 安全标签选择以下的选项总是 接受 Cookies永不 接受 Cookies接受 Cookies 仅从您浏览的站点 (例如,不接受来自其它站点的广告) 预设的选项.您可以显示所有驻留在您浏览器中的 cookies,也可随时将它们之一删除。

[编辑] Konqueror如果没有设置cookie列表,请记住在域名前面加入“.”,例如,否则wikipedia将不会读取cookie(针对KDE 3.3)。

[编辑] 生存周期Cookie可以保持登录信息到用户下次与服务器的会话,换句话说,下次访问同一网站时,用户会发现不必输入用户名和密码就已经登录了(当然,不排除用户手工删除Cookie)。

而还有一些Cookie在用户退出会话的时候就被删除了,这样可以有效保护个人隐私。

[编辑] 识别功能如果在一台计算机中安装多个浏览器,每个浏览器都会独立的空间存放cookie。

因为cookie中不但可以确认用户,还能包含计算机和浏览器的信息,所以一个用户用不同的浏览器登录或者用不同的计算机登录,都会得到不同的cookie信息,另一方面,对于在同一台计算机上使用同一浏览器的多用户群,cookie不会区分他们的身份,除非他们使用不同的用户名登录。

[编辑] 反对cookies者一些人反对cookie在网络中的应用,他们的理由如下:[编辑] 识别不精确参见上面的识别功能[编辑] 隐私,安全和广告Cookies在某种程度上说已经严重危及用户的隐私和安全。

其中的一种方法是:一些公司的高层人员为了某种目的(譬如市场调研)而访问了从未去过的网站(通过搜索引擎查到的),而这些网站包含了一种叫做网页臭虫的图片,该图片透明,且只有一个象素大小(以便隐藏),它们的作用是将所有访问过此页面的计算机写入cookie。

而后,电子商务网站将读取这些cookie信息,并寻找写入这些cookie的网站,随即发送包含了针对这个网站的相关产品广告的垃圾邮件给这些高级人员。

因为更具有针对性,使得这套系统行之有效,收到邮件的客户或多或少表现出对产品的兴趣。

这些站点一旦写入cookie并使其运作,就可以从电子商务网站那里获得报酬,以维系网站的生存。

鉴于隐藏的危害性,瑞典已经通过对cookie立法,要求利用cookie的网站必须说明cookie的属性,并且指导用户如何禁用cookie。

[编辑] 偷窃Cookie和脚本攻击尽管cookie没有病毒那么危险,但它仍包含了一些敏感信息:用户名,计算机名,使用的浏览器和曾经访问的网站。

用户不希望这些内容泄漏出去,尤其是当其中还包含有私人信息的时候。

这并非危言耸听,一种名为Cross site scripting的工具可以达到此目的。

在受到Cross site scripting攻击时,cookie盗贼和cookie毒药将窃取内容。

一旦cookie落入攻击者手中,它将会重现其价值。

cookie盗贼:搜集用户cookie并发给攻击者的黑客。

攻击者将利用cookie信息通过合法手段进入用户帐户。

cookie毒药:利用安全机制,攻击者加入代码从而改写cookie内容,以便持续攻击。

[编辑] Cookies的替代品鉴于cookie的局限和反对者的声音,有如下一些替代方法:Brownie方案,是一项开放源代码工程,由SourceForge发起。

Brownie曾被用以共享在不同域中的接入,而cookies则被构想成单一域中的接入。

这项方案已经停止开发。

P3P,用以让用户获得更多控制个人隐私权利的协议。

在浏览网站时,它类似于cookie。

在与服务器传输数据时,通过在地址后面添加唯一查询串,让服务器识别是否合法用户,也可以避免使用cookie。

什么是cookiecookie 历来指就着牛奶一起吃的点心。

然而,在因特网内,“cookie”这个字有了完全不同的意思。

那么“cookie”到底是什么呢?“Cookie”是小量信息,由网络服务器发送出来以存储在网络浏览器上,从而下次这位独一无二的访客又回到该网络服务器时,可从该浏览器读回此信息。

这是很有用的,让浏览器记住这位访客的特定信息,如上次访问的位置、花费的时间或用户首选项(如样式表)。

Cookie 是个存储在浏览器目录的文本文件,当浏览器运行时,存储在 RAM 中。

一旦阁下从该网站或网络服务器退出,Cookie 也可存储在计算机的硬驱上。

的打算是,当访客结束其浏览器对话时,即终止的所有 cookie。

Cookie 有哪些用途?Cookie 的用途之一是存储用户在特定网站上的密码和 ID。

另外,也用于存储起始页的首选项。

在提供个人化查看的网站上,将要求阁下的网络浏览器利用阁下计算机硬驱上的少量空间来储存这些首选项。

这样,每次阁下登录该网站时,阁下的浏览器将检查阁下是否就该唯一的服务器有任何预先定义的首选项(cookie)。

如果有的话,浏览器将此 cookie 随阁下对网页的请求一起发送给服务器。

Microsoft 和 Netscape 使用 cookie 在其网站上创建个人起始页。

各家公司利用 cookie 的一般用途包括:在线定货系统、网站个人化和网站跟踪。

网站个人化是 cookie 最有益的用途之一。

例如,当谁来到 CNN 网站,但并不想查看任何商务新闻。

网站允许他将该项选为选项。

从那时起(或者直到 cookie 逾期),他在访问 CNN 网页时将不会读到商务新闻。

这些 Cookie 是如何起作用的?文档的 HTML 代码中的命令行告诉浏览器设置某一名称或数值的 cookie。

以下是用来设置 cookie 脚本的一个普通实例。

Set-Cookie: name = VALUE;expires = DATE;path = PATH;domain = DOMAIN_NAME;那么安全性如何?HTTP Cookie 不能用来从阁下的硬驱上检索个人数据、放置病毒、得到阁下的电子邮件地址或偷窃有关阁下身份的敏感信息;然而,HTTP Cookie 可用来跟踪阁下在特定网站上的所到之处。

不使用 cookie 就很难进行网站跟踪。

至于其他一切与因特网有关的事,如同阁下所希望的那样是匿名的。

没有网站知道阁下是谁,除非阁下自己透露给网站。

同时,cookie 只是为了更好地了解使用模式并改进网站访客的效率而采用的一个网站跟踪统计手段而已。

如果网站设计师旨在使网页能与访客更具互动作用,或者若设计师计划让访客自定义网站的外观,则就需要使用 cookie。

而且,如果阁下想要网站在某些情况下改变其外观,cookie 则提供了一条快速、容易的途径,让阁下的 HTML 页面按需要而改变。

最新型的服务器使用 cookie 有助于数据库的互动性,进而改进网站的整体互动性。

未经允许不得转载:虎跃云 » HTTP Cookies在HTTPS中的角色:安全与性能考量
分享到
0
上一篇
下一篇

相关推荐

联系我们

huhuidc

复制已复制
262730666复制已复制
13943842618复制已复制
262730666@qq.com复制已复制
0438-7280666复制已复制
微信公众号
huyueidc_com复制已复制
关注官方微信,了解最新资讯
客服微信
huhuidc复制已复制
商务号,添加请说明来意
contact-img
客服QQ
262730666复制已复制
商务号,添加请说明来意
在线咨询
13943842618复制已复制
工作时间:8:30-12:00;13:30-18:00
客服邮箱
服务热线
0438-7280666复制已复制
24小时服务热线