Cookie与身份认证。

提到HTTP协议,不可避免地都会牵涉到Cookie,可以说,Cookie作为HTTP的重要组成部分,促进了HTTP协议的发展壮大。

HTTP协议如果没有了Cookie,将会是一个无状态,无法便捷地进行用户识别的协议。

通常,Cookie由服务端产生,然后在HTTP会话中发往客户端,并在客户端被维护,根据设置,一个Cookie将会有一定的作用域,通常会对一个或者多个域名起作用,一个HTTP请求将会携带属于它的Cookie。同时,Cookie有生命周期,它由服务端下发时确定。

Cookie的作用是用于区分识别用户身份,进行会话跟踪、会话管理、个性化服务及行为跟踪。

客户端在发起HTTP请求时会根据客户端的当前情况确定是否携带Cookie,如果携带,则在HTTP请求头中表现为字段“Cookie: ”;服务器则在收到HTTP请求时根据具体情况确定是否要设置客户端的Cookie,如果要设置,则在HTTP响应头中表现为字段“Set-Cookie:”。

一个典型的HTTP会话如下:

会话中请求端携带了客户端所存在的Cookie,服务端收到后,设置新的Cookie,将旧Cookie覆盖。

在响应头中,经常会有多个“Set-Cookie:”项,而在“Set-Cookie:”字段中,必要时会有“Expires”项,告知客户端当前Cookie项的过期时间。

Cookie很简单,但是,由于一些APP或者网站的低级设计,经常会有很多敏感信息在Cookie中被携带。

由于Cookie用来进行身份认证的特殊性,如果拿到了某个网站或APP的某个用户的Cookie信息,基本上就可以冒充这个用户,进行很多的操作和获取很多重要的信息了,很多使用Cookie验证用户的网站,很少使用其它措施来进行用户的二次验证,历史上很多的网站泄露事件都是通过Cookie的泄露来进行的。

Cookie还有一个重要的作用,就是用来精准推送广告。

随着时代的进步,网络的发展,很多网站将HTTP升级为HTTPS,当然,Cookie作为HTTP的重要部分,在HTTPS中会继续存在,可以在“Set-Cookie:”项中加入“Secure”参数,来表示该Cookie仅供HTTPS使用。

如果一个APP完全地使用HTTPS进行数据的传输,那自然问题不大,但现实是,很多的APP,HTTP和HTTPS混用,然后,二者的Cookie也混用,使HTTPS访问敏感信息的Cookie能够轻松地从HTTP会话中获取到,最终导致信息的泄露,防不胜防。

去某咖啡厅,伪装个热点,你会获取到大量泄露的Cookie,然后,别乱玩呀,看看就可以了,要做一个合法的公民。

长按进行关注。

最新文章

  1. jQuery初始化加载的实现
  2. 我的JavaScript笔记
  3. [CareerCup] 17.13 BiNode 双向节点
  4. bzoj1016 [JSOI2008]最小生成树计数
  5. Linux TTY框架【转】
  6. spring webmvc使用ResponseBody前,在配置文件中的配置
  7. 面向对象原生js幻灯片代淡出效果
  8. DUIEngine使用Visual Studio 2010编译Debug_Dll版有关Error MSB3073错误解决方案
  9. extjs两个tbar问题
  10. Hadoop Streaming 得到mapreduce_map_input_file中遇到的问题的版本号
  11. Redis-配置认证密码
  12. 电梯调度设计之初感想——蔡迎盈&&曹玉松
  13. 畅捷通T+12.2升级时发生的错误及处理方法图解
  14. random 随机数模块
  15. poj3278_kuagnbin带你飞专题一
  16. 10 Free Image Hosting Sites for Your Photos
  17. Jquery插件的使用及制作插件
  18. 上传控件---淘宝kissy uploader+瀑布流显示
  19. 构建NetCore应用框架之实战篇(四):BitAdminCore框架1.0登录功能细化及技术选型
  20. flex 无法将“<mx:>”解析为组件执行.解决方法

热门文章

  1. R3环申请内存时页面保护与_MMVAD_FLAGS.Protection位的对应关系
  2. TortoiseSVN 无法查看日志 日期显示1970-01-01的解决方案
  3. API统一管理平台-YApi
  4. Spring高级注解
  5. ORACLE DATAGUARD 日志传输状态监控
  6. 解决Python3.6.5+Django2.0集成xadmin后台点击添加或者内容详情报 list index out of range 的错误
  7. vscode 问题。。。。
  8. day89_11_11Flask启动,配置,路由,fbv和cbv
  9. Idea的Http测试支持(十二)
  10. 【2019.10.7 CCF-CSP-2019模拟赛 T1】树上查询(tree)(思维)