fe-interview icon indicating copy to clipboard operation
fe-interview copied to clipboard

你解决过紧急的线上事故吗?

Open habc0807 opened this issue 4 years ago • 3 comments

排查到是什么问题导致的,你又如何解决的。

habc0807 avatar Aug 11 '20 02:08 habc0807

【问题描述】前后端不分离系统,日本用户反馈IE8访问页面只出来一半,检查报错; 【解决过程】首先怀疑js使用了低版本不兼容的写法,逐行注释调试,发现没有问题;再检查css也没有问题;然后用代码比对工具对当前版本提交的文件进行对比,发现html页面有个p标签缺少结束标签; 【原因分析】前后端不分离,多人同时开发,后台大哥改bug不小心动到页面,提交代码时没有检查,自信上传随后休假学车。。。 【避免措施】提交代码之前的检查是很有必要的;测试场景应该更加充分;测试分支合并到生产时最好也再做一次检查;

chenpp226 avatar Aug 11 '20 02:08 chenpp226

遇到过的线上事故:

【事故描述】: 印象中比较深刻的有一次,周末客服群反馈,用户的页面一直弹弹窗,影响用户筹款。

【事故排查】: 接到通知,就赶紧排查,复现问题后,发现一直弹的弹窗,是其他用户的评论留言,留言里写了alert相关的 javascript 代码,因为提交了多次留言,就导致在留言展现页不断滴弹alert弹框,影响用户筹款。

【事故处理】: 给这次事故评为P0事故。通知整个技术部,一起排查,发现了问题后,考虑到解决方案: 最快的就是让后端在数据库,对这几个提交的js代码进行处理:删掉,或者转义。先解决问题,毕竟每一分钟就会影响到公司的账户进账。

然后前端对所有的提交输入框的特殊字符都进行了转义上线,然后再提交,到展现的时候,特殊字符已经被转义了,就不会执行alert弹窗。前端在根源上避免了通过输入框进行 javascript 代码注入。

【事故分析】: 其实这次事故就是XSS攻击,是我们的网站安全性薄弱,被钻了空子。

habc0807 avatar Aug 11 '20 08:08 habc0807

处理故障的一些原则:迅速广播、快速修复、持续观察

habc0807 avatar Aug 11 '20 08:08 habc0807