植物百科网
当前位置: 首页 农业百科

现在还能卡休假bug吗(这才是找BUG的正确打开方式)

时间:2023-05-21 作者: 小编 阅读量: 3 栏目名: 农业百科

因而这些都可以认为是系统中存在的安全漏洞。session默认过期时间是30分钟而我一直在请求后台,session是不可能失效的。中间页面是iframe,是一个系统。现在我们就找为啥请求的时候不将Cookie发送给后台,知道了为啥不发送也就知道了问题所在。然后我发现了问题所在,第一次打开请求B系统的页面B系统会响应给浏览器一个key为JSESSIONID的Cookie,因为这个浏览器第一次请求B系统。如果我不懂Cookie的作用域和端口没关系肯定找不到原因所在。

什么是BUG

漏洞是在硬件、软件、协议的具体实现或系统安全策略上存在的缺陷,从而可以使攻击者能够在未授权的情况下访问或破坏系统。具体举例来说,比如在Intel Pentium芯片中存在的逻辑错误,在Sendmail早期版本中的编程错误,在NFS协议中认证方式上的弱点,在Unix系统管理员设置匿名Ftp服务时配置不当的问题都可能被攻击者使用,威胁到系统的安全。因而这些都可以认为是系统中存在的安全漏洞。bug狭义的概念是指软件程序漏洞或缺陷,广义的概念还包括测试工程师或用户所发现和提出的软件可更改的细节、或与需求文档存在差异的功能实现等。

简单点说就是 程序不按照你的预期执行,或者程序直接报错了。在每个程序员的职业生涯中都会碰到或多或少的bug,有人写的程序bug就是少,有人写的程序bug就是很多。这是因为每个人的对技术的广度和深度都不同。知道技术的原理写起来代码肯定bug会少些,不懂原理写起来肯定错误百出。但是即便你精通各种技术还是会出现bug,这是不可避免的。

对待BUG的态度

我见过无数程序员一看到程序出错了就很紧张,仿佛报错要他命似的。乱了阵脚,其实报错不可怕,报错都是可以处理的。你看到哪里报错找哪里,找到哪一行想想哪一行为啥会报错。直接debug不就可以了。报错没事,心态放平慢慢找,一点一点debug,找到为什么报错就可以了。其实做久了才知道,报错的bug一点都不可怕,不报错的bug才可怕,逻辑完全正确,但就是不按照你预期的走。这种bug往往搞得你怀疑人生。

如何找BUG

找bug的前提是复现问题,很多bug都是在特定的情况下才会出现的,就像我们经常碰到的在自己电脑上没问题在别人电脑上就有问题,或者在外网环境没问题,在内网环境就不行。我们碰到这种情况要第一时间复现问题,如果复现不了问题你肯定解决不了。切记不能自己闷着头瞎调试。你的环境没问题你还在你电脑上调试,能调试出来才怪了。你要去有问题的环境找问题,内网有毛病你就去内网复现问题,复现了再比较和外网有啥区别慢慢解决,切不可产生畏战心理,其实好多问题只要找到根源就豁然开朗了。

一个不太好找的BUG

去年冬天公司安排我去哈尔滨培训,培训前我们把要培训的功能测试了一遍,其他有问题的很快改了,偏偏我就遇到了一个问题,有一个接口请求后台,后台从Session里面拿数据,但是后台的session对象一直为null,这就让人很费解。session默认过期时间是30分钟而我一直在请求后台,session是不可能失效的。我在本地怎么测怎么没问题。先说一下我们的环境,开发的时候我们是前端一个项目后端一个项目,前端系统配置菜单,前端直接请求后端拿数据。而我们发布后就成了,前端加页面需要去另一个系统加,另一个系统是一套.net的系统,我们在.net系统里面配置前端页面地址,菜单名,权限等。经常做后台管理系统的同学应该知道一般是上边一栏菜单,左边一栏菜单。中间是功能页面。中间页面是iframe,是一个系统。而我们就不一样了,上边和左边的菜单栏是一个系统,中间的功能页是嵌的我们前端系统的页面地址,中间功能页也是iframe。开始我感觉和这些没问题,既然功能页都是iframe应该没区别。但是我在本地怎么也复现不了。这就很无奈,找bug你一定要找到蛛丝马迹。我就看前端页面发送的请求,看了半天才发现问题。

我们看响应头有一个 Set-Cookie 这里给浏览器了一个Cookie 。看似没啥毛病,但是我发现每一次请求后端都会给浏览器一个key为JSESSIONID的Cookie,而且每次请求时请求头都不会把这个Cookie发送到后台。这就让人很费解。这样我也就明白了为啥后台用Session对象的时候为null了。现在我们就找为啥请求的时候不将Cookie发送给后台,知道了为啥不发送也就知道了问题所在。后台给浏览器Cookie的时候别的都挺正常的但是SameSite=lax这个东西我看不懂。

经过我的百度查到了问题知道了这个属性是啥意思。

简单点来说就是谷歌为了安全性,在浏览器80版本以后就不允许不同站点的原页面和iframe页面请求时发送Cookie,因为我们内网发布的菜单栏和iframe是俩系统也就是俩站点,所以iframe的页面发送的请求都不带着Cookie,自然也就导致后台拿不到Session了。而外网开发环境菜单栏和iframe是一个系统所以iframe页面发送的请求都带着cookie,也就不会导致后台取不到Session了。至此我们发现问题所在。接着想办法解决就可以了。

其实这个BUG讲出来看似很简单,其实不然,首先你要复现问题,其次你一定要知道Session和Http协议的工作原理,如果你不懂这俩技术的原理是肯定找不到问题所在的。

系统不存在一会行一会不行

还有一个问题,就是我们一台服务器上部署了两个后台系统,一个是A系统占用80端口,一个是B系统占用8080端口。有些前端页面请求了A系统的后台,有些前端页面请求了B系统的后台。别人给我反映经常丢Session(也就是上面说的后台拿不到Session对象)一会好使一会不好使,好几个人都没找到咋回事,找到我了,其实我也很懵。但是我不认同别人的说法,系统绝对不存在一会可以一会不可以,可以的时候一定有可以的原因,不可以的时候一定有不可以的原因。有因必有果。经过我的测试如果一直使用请求A系统的页面是没问题的,一直使用请求B系统的页面也是可以的。但是打开过请求B系统的页面再打开请求A系统的页面必报错。然后我发现了问题所在,第一次打开请求B系统的页面B系统会响应给浏览器一个key为JSESSIONID的Cookie,因为这个浏览器第一次请求B系统。但是JSESSIONID的Path属性为/ 而且Cookie作用域和端口没关系,如果这时候我们打开请求A系统的页面也会把这个JSESSIONID带过去,而这个值和A系统没关系,A系统也就会重新给浏览器一个JSESSIONID,自然A系统也就拿不到Session了。出现BUG第一步一定是要复现,如果复现不了肯定找不到,其次要找痕迹想办法找到哪里不正常,懂原理。如果我不懂Cookie的作用域和端口没关系肯定找不到原因所在。

如果喜欢本篇文章不妨关注点赞收藏,有什么困惑欢迎评论。

原文链接:https://www.cnblogs.com/jidiqi/p/15562213.html

作者:接地气程序员

    推荐阅读
  • 怎么重装电脑(电脑系统怎么重装)

    下面内容希望能帮助到你,我们来一起看看吧!怎么重装电脑重装系统前注意备份桌面和C盘重要资料到其他盘,确定硬盘有两个以上分区。选择系统列表中选择想要安装的系统,选择预装软件或者取消安装。根据网速会自动下载重装系统需要的文件,等待一段时间进入重装页面。使用方向键上下选择回车键确定,安装完成后选择立即重启。系统重装完成后设置桌面分辨率更新其他相关驱动即可。

  • 首付要求(蔚来零首付要求)

    首付要求贷款车辆首付要求一般在30%以上;公务员买国产车可首付两成;国产车首付三成,进口车首付四成;

  • 汽车全车膜多少钱? 汽车全车膜大概多少钱

    可以用酒精或汽油擦拭一下膜的表面,易褪色的多是劣质膜;3、味道,劣质汽车膜的胶层残留溶剂中苯含量高,因此有异味,长时间处在此异味环境中,会影响车主的身体健康。

  • 韩寒和他人争论对错(韩寒无法背叛韩寒)

    今年春节,韩寒带着新片《四海》重返春节档。王一博、冯绍峰、尹正、刘昊然、黄景瑜等当红明星的转发助力,也彻底拉高观众对其期待阈值。上映当天,除了最受期待的超级巨片《长津湖之水门桥》外,《四海》票房成绩稳坐第二把交椅,冲破两亿。但这种捉摸不透,如今在《四海》中更加明显。在《四海》上映前发布的那封信中,也提及,和《飞驰人生》一样,韩寒的灵感总是突如其来。

  • 华天动力oa模式(华天动力协同OA系统着力打造亚滴新能源一站式信息平台)

    2016年年底,亚滴新能源领导层经过慎重抉择,购买了华天动力协同OA系统的V7旗舰版。2018年,公司发展势头强劲,全国各地已有14个分公司,用户数已从100激增到800左右。亚滴新能源和华天动力协同OA系统的此次联手,在行业内引起不小轰动,在困难面前,华天动力砥砺前行,交出了一份完美的答卷,今后也将永葆初心,不负信任。

  • 雅思考试一般多久(参加雅思考试时间多长)

    才准备雅思考生知道雅思都考什么吗?这是两个比较大的疑问,下面老师给大家整理了参加雅思考试时间多长的内容。考官通常是会在考试进行到30分钟,15分钟,10分钟,5分钟时提醒考生收卷时间。参加雅思考试时间多长之口语考试:时间为十到十五分钟。考生会把和考试部门任命同时经剑桥大学测试联盟认证的考试官进行会话。关于参加雅思考试时间多长的信息便为大家介绍到这里,希望文章里的这些信息考生们能认真的阅读。

  • 一加什么时候离开oppo的(一加创始人回归OPPO)

    消息人士透露,OPPO近期进行组织架构调整,其中最具有爆炸性的一条莫过于一加手机创始人、CEO刘作虎回归OPPO。而今年,OPPO也是动作频频。紧接着在4月20日,OPPO又宣布任命刘列为全球营销总裁,兼任中国区CMO,全面负责OPPO的营销工作,其工作也是直接向陈明永汇报。与此同时,原OPPO全球营销总裁沈义人因个人健康原因卸任。目前还不清楚刘作虎回归后,OPPO和一加各自会有怎样的改变。

  • 塞布丽娜新枝开花吗(塞布丽娜绣球新枝老枝都开花吗)

    塞布丽娜新枝不开花,需要养1~2年后,才可能开花。养护塞布丽娜的方法:生长期需要勤浇水,保持土壤中有充足的水分。塞布丽娜是绣球花中的一种,特色在于其桃红色晕染的花边,秋季紫红色的叶片,也是观赏性很强的一个品种。塞布丽娜花朵呈球形,边缘呈桃红色中间白色至淡粉色,属于奢华娇美的类型。塞布丽娜叶子也是很有特点的,新叶红色,老叶淡红到淡绿。塞布丽娜的花期在5-10月份期间,花色随着月份会逐渐变得更惊艳。

  • 西安碑林区太乙路社区二价疫苗预约通知

    碑林太乙卫生服务中心建东街3号2022年9月16号14:00开始预约二价,约完为止。以下是具体信息。

  • 2020重庆巴文化电影公园向日葵观赏攻略(地址、路线)

    笑脸一般的花朵,迎风而立,看着嫩黄色的花瓣,一下子感觉到了“治愈”,向日葵总能给人一种积极向上的感觉。巴文化电影公园里的向日葵,散布在松软的土壤里,布局并非传统的那般严谨,反而别具新意。值得一提的是,因为环境优美,许多新婚夫妻会在这里拍摄婚纱,来此处转转,说不定就会见证幸福。交通指南1、轻轨:乘坐轻轨3号线大山村站下车2、公交线路:311、303、171、348、358,巴文化电影公园站或道角派出所站下车