当前位置: 首页 > news >正文

网站建设xywlcn网站云主机

网站建设xywlcn,网站云主机,大连响应式网站,没有做icp备案的网站奇怪的页面崩溃笔者曾经测试过一个有关进出口贸易Web应用,有一个页面是显示贸易对象信息,类似下图然后有一个辅助功能,是可以根据对方的贸易国不同将交易信息导出为符合对应国别要求的标准格式文档(当然大部分国家的格式其实是一样…

奇怪的页面崩溃

笔者曾经测试过一个有关进出口贸易Web应用,有一个页面是显示贸易对象信息,类似下图

请添加图片描述

然后有一个辅助功能,是可以根据对方的贸易国不同将交易信息导出为符合对应国别要求的标准格式文档(当然大部分国家的格式其实是一样的)。

这个功能在测试阶段未发现问题。

但是在交付给用户使用后,在某个用户那里,一旦触发这个导出操作,则间或会出现页面崩溃的严重问题。

问题定位

在收到数次这个反馈后,发现这个用户在出现崩溃的情况时,无一例外,都是对方的交易国家是挪威, 而对应这个国家其实导出的文档也是标准文档。所以并不是导出的文档格式问题

在分析这个功能的实现逻辑后,终于发现了问题的症结所在。

这个导出功能,对于文档格式的匹配是定义在一个YAML配置文件中的,而国别的识别,在YAML中是通过国家码来进行配置的。而挪威的国家码对应的是NO

类似:

config:- filetype: pdf- profile: standard- country: NO

根据YAML V1.1标准配置中的定义(https://yaml.org/type/bool.html):

请添加图片描述

NO在经过代码转义后,会被处理为bool型值False,而程序在这里缺乏配置校验和处理异常保护,导致在读取国家码时出现异常,引发页面崩溃。

所以原因总结起来包括:

  1. YAML配置文件:国家码配置,默认当作字符型处理,未考虑到NO这种特殊情况,没有添加字符引号标记。
  2. 程序处理,缺乏对YAML配置值正确性的校验
  3. 异常保护不足,发生异常时直接导致页面崩溃

问题修正

找到原因,那么修复其实很简单,对于国家码,强制转换为字符型后在处理,并添加有效性校验和异常保护代码即可。当然对于容易引起歧义的YAML配置,也增加了字符串引号引用。

config:- filetype: pdf- profile: standard- country: "NO"

思考

其实不止国家码,在字符类型的字段中,如果使用其他一些有特殊含义的字符,比如“Yes”, "null"等,也同样会造成类似问题。

因此,对于我们测试来说,测试时的数据处理验证,特别是类似的特殊字符处理,一定要考虑到相关场景,否则就很容易造成类似严重问题的遗漏。

http://www.dtcms.com/a/491820.html

相关文章:

  • 网站建设静态部分报告总结长沙旅游必去的八个景点
  • 5种方法解决:安装一个或多个角色、角色服务或功能失败。找不到源文件
  • 虚幻引擎5 GAS开发俯视角RPG游戏 P05-11 消息小部件
  • 网站seo综合诊断福田服务商app软件安装
  • 无缝开发通道:IT-Tools+CPolar让远程协作像坐在一起编码
  • 网站普查建设背景网页qq属于
  • 网站建设 局部放大镜功能wordpress建英文网站
  • 武冈网站建设怎么买网站空间
  • 从0开始掌握企业知识库构建:核心概念与实践入门
  • 伦教网站设计宣传广告牌图片
  • 文案撰写网站wordpress登录密码错误
  • NewStarCTF2025-Week1-Misc
  • 有什么做ppt的网站分销渠道的三种模式
  • 什么企业需要做网站wordpress删掉不需要的
  • node.js上传图片接口
  • 静态网站建设的技术运用德阳如何做百度的网站
  • 深圳光明网站建设知名网站建设制作
  • h5游戏免费下载:球跑者
  • 使用Grafana监控K8S中的异常Pod
  • C语言基础之:指针、结构体、链表
  • 王国保卫战全集下载 1~5部全系列MOD DLC修版 安卓+ios+PC电脑版
  • wordpress邮件发验证码网站站内结构优化
  • 国内专业网站设计关于网站运营
  • 【Java序列化与反序列化详解】
  • JAiRouter v1.0.0 正式发布:企业级 AI 服务网关的开源解决方案
  • HDR Scattering and Tone Mapping
  • 做我的世界皮肤壁纸的网站工业设计软件上市公司
  • 网站备案模板自己做的网站可以发布吗
  • vue-easy-tree树状结构
  • 重庆网站设计公司小白测评做网站