程序员写 2000 行 if else?领导:这个锅我不背
前言
知乎上有小伙伴提了这么一个问题,如何看待陕西省普通话水平测试成绩查询系统?查询系统前端代码就直接给出了身份账号,姓名,证书编号,如果信息是真的,就泄露了这么多考生的信息,白给那种。为什么会发生这样的事情?事情的始末是什么?
证据
很多机智的小伙伴都打开了网址一探究竟,小编也不敢怠慢赶紧瞅瞅这牛逼的网站到底长什么样子。
看着的确有模有样,一股80年代的复古风格,赶紧拿出 F12 神器看一遍究竟哪位程序员写出如此神奇的逻辑代码。
点开层层结构,找到 <script>
,卧槽还有这等神逻辑,本地数据库,htmlsql
?
小编拷贝出来这段逻辑代码,足足有 2000 行代码,涉及多大几百个考生的身份证信息,为了安全期间,小编只好给马赛克了。
通过逻辑分析发现,这个系统查询本质上并不是用证件号 + 姓名 + 身份证号来查的,其实仅仅用姓名就足够了,你可以直接访问:
http://www.sxpth.cn/小明查询结果.htm
这不是重点,重点在后面,一段神器的代码:
else
{
//如果输入的不是hello,那么跳转到百度。总之,你说不可以用asp也就是服务器脚本只能弄个客服端了
location='查无此人.html';
}
看到这里,小伙伴们可能会以为这是哪个沙雕领导的要求?然而峰回路转的是,众网友居然找到了源代码的出处,居然是 2009 年一位网友在百度知道的回答,不得不说互联网真是个神奇的存在。
# 小伙伴们可以看这里
https://zhidao.baidu.com/question/119639957.html
难道这就是整个故事的结局,显然不是,回到问题开头,待陕西省普通话水平测试成绩查询系统
怎么说也应该是个正规的官方系统,顺手查了一下网站的备案信息。
那么问题很明确了,这只是一个假网址http://sxpth.cn
,仿冒的是这个真实的网址http://sx.cltt.org
不过假冒网站现在已经 Service Unavailable
了,不知道是访问量过大服务爆了,还是自行下线了。
网友热评
最后,我们欣赏一下各路吃瓜群众的精彩评论:
天然支持高并发
跨平台兼容性好,任意移植
我想知道这个项目多少钱中标的
真正的前后端分离,完全不需要后端
很前卫 这是Serverless无服务架构
不需要数据库,完全没有拖库的危险
刚才看了看他们网站,承包我这个月的笑点[允悲]
新潮流?微服务转无服务?我一个产品经理也能写![doge]
设计思想很有创意,适用于查考试成绩这种读多写少的高并发业务场景。
代码优化到了极致,亿级并发完全不是事,阿里就缺你这种人才[doge]
不足的一点是,没有采用js代码混淆,这么高明的解决方案就人尽皆知了