什么是cookie

指某些网站为了辨别用户身份、进行session跟踪而存储在用户本地终端上的数据(通常经过加密)。(注:此定义来自百度百科)

cookie对于登录的效果

排除用户手动删除浏览器cookie以及cookie未过期的情况下,用户如果在某网站登录过一次,下次访问这个网站,用户不需要输入用户名和密码就可以进入网站。

cookie的生命周期

创建cookie的时候,会给cookie指定一个值:Expire,它就是指定cookie的有效期,也就是cookie的生命周期,超出设置的这个生命周期,cookie就会被清除。如果给这个值Expire设置为0或者负值,那么这样的设置就是在关闭浏览器时,就会清除cookie,这种方式更加安全。

为什么cookie不安全

最大的原因是因为它存储在浏览器端(用户本地),一些别有用心的人能够通过浏览器截获cookie(脚本、利用工具抓取等)。

cookie不安全的表现形式

cookie欺骗

但这时就会去考虑了,既然如此,为何不加密呢?加密后就算拿到cookie不是也没有用么?关键问题就在这里了,一些别有用心的人不需要知道这个cookie的具体含义,只需要将这个cookie向服务器提交(模拟身份验证),身份验证通过之后,就可以冒充被窃取cookie对应用户来访问网站,甚至获取到用户的隐私信息,对于用户的隐私造成非常严重的危害,这种方式就叫做cookie欺骗。

cookie截获

cookie以纯文本的形式在浏览器和服务器之间传递,在web通信时极容易被非法用户截获和利用。非法用户截获cookie后,在cookie的有效时间内重新发放给服务器,那么这个非法用户就拥有了这个合法用户的所有权限。

Flash的内部代码隐患

Flash中有一个getURL()函数,Flash利用它自动打开指定的页面。那么这个就意味着,你在观看Flash动画时,在Flash的内部可以悄无声息的打开一个极小的不易发现的包含特殊操作的页面,可以是木马,可以向远端输入当前cookie或者用户信息,这是非常危险的,由于这个是Flash内部的操作,所以网站无法禁止,要想避免,尽量打开本地防火墙以及访问正规网站。

如何解决cookie安全性问题

第一步:设置cookie有效期不要过长,合适即可

第二步:设置HttpOnly属性为true

可以防止js脚本读取cookie信息,有效的防止XSS攻击。

第三步:设置复杂的cookie,加密cookie

(1)cookie的key使用uuid,随机生成;
(2)cookie的value可以使用复杂组合,比如:用户名+当前时间+cookie有效时间+随机数。
这样可以尽可能使得加密后的cookie更难解密,也是保护了cookie中的信息。

第四步:用户第一次登录时,保存ip+cookie加密后的token

每次请求,都去将当前cookie和ip组合起来加密后的token与保存的token作对比,只有完全对应才能验证成功。

第五步:session和cookie同时使用

sessionId虽然放在cookie中,但是相对的session更安全,可以将相对重要的信息存入session。

第六步:如果网站支持https,尽可能使用https

如果网站支持https,那么可以为cookie设置Secure属性为true,它的意思是,cookie只能使用https协议发送给服务器,而https比http更加安全。

cookie安全性问题相关推荐

  1. Cookie安全性分析

    浅谈cookie安全性 摘要 HTTP State Management Mechanism(HTTP状态管理机制)一文中,定义了HTTP Cookie和Set-Cookie头字段.HTTP服务器利用 ...

  2. 使用HttpOnly提升Cookie安全性

    在介绍HttpOnly之前,我想跟大家聊聊Cookie及XSS. 随着B/S的普及,我们平时上网都是依赖于http协议完成,而Http是无状态的,即同一个会话的连续两个请求互相不了解,他们由最新实例化 ...

  3. [转]使用HttpOnly提升Cookie安全性

    原文:https://www.cnblogs.com/zlhff/p/5477943.html 在介绍HttpOnly之前,我想跟大家聊聊Cookie及XSS. 随着B/S的普及,我们平时上网都是依赖 ...

  4. js中cookie的使用详细分析

    2019独角兽企业重金招聘Python工程师标准>>> JavaScript中的另一个机制:cookie,则可以达到真正全局变量的要求. cookie是浏览器 提供的一种机制,它将d ...

  5. 安全性测试之认证授权

    在web安全中,认证授权又是每个人都熟知的,就像我们都应该设置一个高强度的密码,以免被猜测破解,实际上还包括更多内容.   1. 权限 在很多系统如CRM,ERP,OA中都有权限管理,其中的目的一个是 ...

  6. JavaScript 操作 Cookie

    从事web开发也有些日子了,cookie 是个啥差不多能说明白,可是实际自己一上手操作就是得去搜索(你们懂的),结果被鄙视了...所以就写一篇博文做为自己的学习笔记,嘿嘿,博客的好处在此体现出来了. ...

  7. [转自脚本之家] Javascript cookie 详解

    cookie概述 在上一节,曾经利用一个不变的框架来存储购物栏数据,而商品显示页面是不断变化的,尽管这样能达到一个模拟 全局变量的功能,但并不严谨.例如在导航框架页面内右击,单击快捷菜单中的[刷新]命 ...

  8. cookie和session的那些事儿

    COOKIE介绍 cookie 常用于识别用户.cookie 是服务器留在用户计算机中的小文件.每当相同的计算机通过浏览器请求页面时,它同时会发送 cookie.通过 PHP,您能够创建并取回 coo ...

  9. ASP.NET 实践:写入 Cookie

    Cookies 提供了一种在 Web 应用程序中存储特定用户信息(如历史记录或用户偏好)的方式.Cookie 是连同请求和回应一起在 Web 服务器和客户端之间来回传送的少量文本.Web 应用程序能够 ...

  10. 客户端与服务器cookie

    认识cookie 第一部分: 概要 cookie是一种早期使用的客户端存储机制(现在仍在广泛使用),cookie数据会在Web浏览器和Web服务器之间传输, 因为早期cookie是针对服务器脚本设计的 ...

最新文章

  1. TCP三次握手Render Tree页面渲染=从输入URL到页面显示的过程?
  2. 微博3元一万粉软件_实测3款朋友圈很火的“日赚分红300元”游戏软件究竟靠不靠谱!!...
  3. 某测试仪控制系统的设计方案--ARM+FPGA+NIOS
  4. 让你不再害怕指针.pdf
  5. 想念一个人是一种温馨,被别人想念是一种幸福
  6. IBM的ITIL管理解决方案
  7. 计算机丢失dll文件怎么弄,电脑缺少dll文件怎么办
  8. 墓碑上的字符c语言程序设计,刻在死者墓碑上.概述人物事迹.赞美人物品格的文字叫墓志铭.信客离开我们后.村民为他树碑.请你为其撰写墓志铭. 题目和参考答案——青夏教育精英家教网——...
  9. word-目录突然无法更新解决方法
  10. httpclient封装工具类
  11. 黑马程序员——java 泛型
  12. Java 流(Stream)、文件(File)和IO
  13. (转载)BOX2D V2.3.0 用户手册中文版(第8章)-关节
  14. windows日志捕获工具-DebugView使用教程
  15. 如何设置下拉框多选以及设置多选值
  16. qbo energy board debug
  17. 《前方的路》读书笔记
  18. 由前序序列与中序序列实现后序遍历
  19. Android8.1 MTK平台 Dialer修改(来电全屏、归属地显示)
  20. Follow me 总结

热门文章

  1. cad修改快捷键_人手一份的绘图命令,CAD绘图必备,学会工资上万不是梦
  2. 【渝粤题库】陕西师范大学202861 发展心理学 作业(专升本)
  3. 元气骑士最新版全武器图鉴【支持搜索】(截至2022年4.0版本)
  4. python ttk separator_python - ttk.Separator设置长度/宽度 - 堆栈内存溢出
  5. QWebEngineView播放视频最大化
  6. 5G NR — 基站(Base Station)
  7. 来电弹屏功能在呼叫中心的应用
  8. JAVA实现百度网盘文件上传
  9. java 生成word 分页_Java 插入分页符和分节符到Word文档
  10. 给学计算机男生起外号,如何给男生起外号