程序员写 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代码混淆,这么高明的解决方案就人尽皆知了

posted @ 2019-09-29 08:42  小柒2012  阅读(6782)  评论(37编辑  收藏  举报