本文详细介绍了nginxcookie有效期的讨论总结。原文根据示例代码非常详细,对大家的学习培训或者工作都有一定的参考价值。有必要的朋友陪我去了解一下。
每次浏览都会在电脑浏览器中形成cookie,那么cookie的存在对用户是好是坏呢?说实话,这个东西的存在确实产生了一系列问题。有意思的是,几乎每个网站都离不开cookie,因为cookie的应用看似简单,容易被别人忽略。在最近开发设计的整个过程中,思考使用中的Cookie编码,基本上只需要很小的成本就能获得很大的安全利润。所以写这个纸条会增强记忆力。
cookie的安全风险
在特定的应用领域,Cookie用于维护认证的服务器端情况。这种维护可以基于对话会话,也可以是连续的。无论哪种方式,一旦认证Cookie中包含的服务器端文档票泄露,服务器端将很难区分包含该文档的用户请求是来自真实用户还是来自有意者。
在一个具体的例子中,导致Cookie泄露数量最多的方式是基于跨站脚本(如XSS,跨站脚本)制作系统漏洞。用户可以根据一小段JavaScript代码窃取代表用户真实身份的密钥Cookie签名。因为跨站脚本系统的漏洞是如此的普遍(不一定认为简单的HTML编码就可以防止跨站,跨站是一个很深的大学问,以至于业内已经开发出一个专门的名词:跨站老师),基本上每个网站都防不了,所以这种方法在具体来说是广泛使用的方式。
其实防止这种问题的主要窍门就是让你的Cookie尽可能的添加HttpOnly的logo。HTTP的实际应用超出了本文的讨论范围。
Cookies的原理
第一次浏览网站时,电脑浏览器发出请求,网络服务器响应请求后,会将Cookie放入响应请求中。当计算机浏览器第二次发出请求时,它会将Cookie带过去,服务器会识别用户的真实身份。当然,网络服务器也可以更改Cookie内容。
cookie的生存期
在创建Cookie的时候,会赋予它一个特定的值:Expire,这个值就是特定Cookie的有效期,也就是Cookie的生命周期。在设定的生存期后,Cookie将被删除。如果值Expire设置为0或负数,那么当浏览器关闭时,Cookie将被清除。这种方法更安全。
更改cookie的有效期
一般大家的web业务系统都会按照nginx发布。这时候我们可以根据nginx上环境变量的变化来改变cookie的有效期,因为最近边肖正在根据openresty开发设计nginx。就像这样,我们将测试Cookie的有效性。
在前面提到的cookie的生存期中,为了提高有效期的安全系数,我们可以为cookie设置有效的有效期。如果是0或者负数,实际效果如何?为什么不看一看呢?
转变观念
使用Openresty的resty.cookie进行更改。该库用于OpenResty的HTTPcookie的实际 *** 作。可用于解析Nginx的HTTPCookie头,并返回Cookie中的每个字段名。比如设置name、value、httponly等属性。
有效期为24小时
这里,到期日期设置为一天(24小时),即当前时间格式(ngx.time())加上24小时。
localcookie=resty_cookie:new() localok,err=cookie:set({ key="middle_session", value=session, path="/", secure=false, httponly=true, expires=ngx.cookie_time(ngx.time()60*60*24), domain=ngx.host, })真实效果
这里可以看到Cookie的有效时间是5月13日14:04,说明你的修改设备是合理的,你可以根据这个主要参数来修改Cookie。如果到了这个时间点,cookie就失效了,用户必须重新登录。
有效期是创世纪1
这里Expires设置为-1,这里可以观察到cookie应用的时间是1970年,也就是UNIX元世纪的元时间。
localcookie=resty_cookie:new() localok,err=cookie:set({ key="middle_session", value=session, path="/", secure=false, httponly=true, expires=ngx.cookie_time(-1), domain=ngx.host, })从下图可以看出,Cookie的有效期是1970年1月2日,已经毫无悬念的过时了。工作环境当然是这么配备的。要被关在黑屋子里讨论人生理想,遇到这种Cookie的用户无论如何都无法登录成功。
有效期是今天
作为ngx。Cookie_time会返回一个带有出厂设置的字符串数组,它可以作为Cookie的到期时间,我们可以自己手动指定到期时间。根据该方法,可以检测上述全自动Cookie消除的实际效果。
具体到期时间为-1
localcookie=resty_cookie:new() localok,err=cookie:set({ key="middle_session", value=session, path="/", secure=false, httponly=true, expires=-1, domain=ngx.host, })具体到期时间为0
localcookie=resty_cookie:new() localok,err=cookie:set({ key="middle_session", value=session, path="/", secure=false, httponly=true, expires=0, domain=ngx.host, })结果
这里的配备-1,0其实和配备元时间是一样的,只是好处取决于不需要关掉小黑屋。Cookies只在页面表面合理。一旦关闭浏览器,这个Cookie就会被电脑浏览器清除。这个时候就不需要考虑安全系数问题了。
参考文本文档:
谈https://www.infoq.cn/article/cookie-security的饼干安全
谈谈饼干吧,https://juejin.im/post/59d1f59bf265da06700b0934.
探索https://zhuanlan.zhihu.com/p/58666986cookie安全
到目前为止,这篇关于nginxcookies有效期讨论的总结文章已经在这里详细介绍过了。有关nginxcookies有效期的大量信息,请搜索您以前的文章或再次访问下面的相关文章。期待你以后的申请!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)