前言

知乎上有小伙伴提了这么一个问题,如何看待陕西省普通话水平测试成绩查询系统?查询系统前端代码就直接给出了身份账号,姓名,证书编号,如果信息是真的,就泄露了这么多考生的信息,白给那种。为什么会发生这样的事情?事情的始末是什么?

证据

很多机智的小伙伴都打开了网址一探究竟,小编也不敢怠慢赶紧瞅瞅这牛逼的网站到底长什么样子。

看着的确有模有样,一股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代码混淆,这么高明的解决方案就人尽皆知了

程序员写 2000 行 if else?领导:这个锅我不背的更多相关文章

  1. 出错的方法有可能是JDK,也可能是程序员写的程序,无论谁写的,抛出一定用throw

    应对未检查异常就是养成良好的检查习惯. 已检查异常是不可避免的,对于已检查异常必须实现定义好应对的方法. 已检查异常肯定跨越出了虚拟机的范围.(比如“未找到文件”) 如何处理已检查异常(对于所有的已检 ...

  2. 我为什么鼓励程序员写blog

    工程师该怎样才能突破自己的能力瓶颈?写 blog! 工程师该怎样精进自己在职涯上所需要的能力?写 blog! 工程师该怎样才能保持学习与成长的动能?写 blog! 工程师该怎样才能证明自己的潜力与特质 ...

  3. 程序员写的东西出了bug,造成了损失谁来承担?

    这是个持续多年的话题了,很多大公司,尤其是牛逼的独立分包公司(开发公司)都会有代码审核和严格QA程序,一般的公司就很难说咯,在法律上目前还没有完全支持处罚程序员bug经济损失的判例(国内如此),国外也 ...

  4. 优秀 Java 程序员写代码的风格,不再留坑给别人

    往 期 精 彩 推 荐    [1]Java Web技术经验总结 [2]15个顶级Java多线程面试题及答案,快来看看吧 [3]面试官最喜欢问的十道java面试题 [4]从零讲JAVA ,给你一条清晰 ...

  5. 优秀 Java 程序员写代码的风格

    往 期 精 彩 推 荐    [1]Java Web技术经验总结 [2]15个顶级Java多线程面试题及答案,快来看看吧 [3]面试官最喜欢问的十道java面试题 [4]从零讲JAVA ,给你一条清晰 ...

  6. .net程序员写业务代码需要注意的地方

    代码规范要求1.命名空间规范:dao层的impl实现和接口采用一样的命名空间,到对应文件夹层:IxxDaoContext与其实现类采用顶级命名空间. 2.TableEntity文件夹:所有的实体放到各 ...

  7. 程序员写了一个新手都写不出的低级bug,被骂惨了。

    你知道的越多,你不知道的越多 点赞再看,养成习惯 本文 GitHub https://github.com/JavaFamily 已收录,有一线大厂面试点思维导图,也整理了很多我的文档,欢迎Star和 ...

  8. CodeGuide 300+文档、100+代码库,一个指导程序员写代码的,Github 仓库开源啦!

    作者:小傅哥 博客:https://bugstack.cn 沉淀.分享.成长,让自己和他人都能有所收获! 一.路怎样走,让你们自己挑 B站 视频:https://www.bilibili.com/vi ...

  9. 后端程序员写的前端js代码模板

    看几天的javascript面向对象和基础等之类相关javascript的知识,因为自己是写php的,也写过java,所以想在写javascript代码的时候也能用上面向对象的思想, 折腾了一整天的j ...

随机推荐

  1. 章节十六、4-TestNG高级功能--把测试方法分优先级、分组执行

    一. 把测试方法分优先级执行----->(priority=索引) 1.新建一个testng方法 package testclasses; import org.testng.annotatio ...

  2. 第五章 函数day2

    5.2函数小高级 5.2.1 函数当参数 1 函数也可以当返回值 def v(dar): v = dar() def n (): print(444) v(n) # 实例2 def v(): prin ...

  3. Elasticsearch核心技术(1)--- Docker容器中运行ES、Kibana、Cerebro

    Docker容器中运行ES,Kibana,Cerebro和Logstash安装与数据导入ES 想加强ES有关的知识,看了阮一鸣老师讲的<Elasticsearch核心技术与实战>收获很大, ...

  4. MSIL实用指南-加载int值

    这一篇讲的是怎样加载整数值到运算栈上.这一类的指令都是以Ldc_I4开头. Ldc_I4类OpCodes的Ldc_I4字段的功能是把一个int值压入运算栈上.它的使用方法是ilGenerator.Em ...

  5. 可以穿梭时空的实时计算框架——Flink对时间的处理

    Flink对于流处理架构的意义十分重要,Kafka让消息具有了持久化的能力,而处理数据,甚至穿越时间的能力都要靠Flink来完成. 在Streaming-大数据的未来一文中我们知道,对于流式处理最重要 ...

  6. 82天突破1000star,项目团队梳理出软件开源必须注意的8个方面

    近期,我们在GitHub上开源了微服务任务调度框架SIA-TASK,82天,收获了1000+个star!由于这是SIA团队第一次开源项目,开源的相关工作,团队之前并没有太多的经验,因此我们特别整理了本 ...

  7. 简单的 Python 人脸识别实例

    案例一 导入图片 思路: 1.导入库 2.加载图片 3.创建窗口 4.显示图片 5.暂停窗口 6.关闭窗口 # 1.导入库 import cv2 # 2.加载图片 img = cv2.imread(' ...

  8. Photoshop软件破解补丁安装方法

    参考: http://jingyan.baidu.com/article/454316ab4b3266f7a6c03a7d.html 1.安装好photoshop之后,解压32位64位破解补丁.zip ...

  9. Features Track 2018徐州icpc网络赛 思维

    Morgana is learning computer vision, and he likes cats, too. One day he wants to find the cat moveme ...

  10. Error executing DDL via JDBC Statement 导致原因之一:列名使用了sql关键字

    WARN: GenerationTarget encountered exception accepting command : Error executing DDL via JDBC Statem ...