对于某实验平台的吐槽

今天学校不知道哪搞了个平台,让我们去上面做模拟实验,我点开一看,好嘛,没啥用的机器人、电焊,继续看下去还有题目,又懒得上网查答案,但是学校给的通知里有一行话引起了我的注意: 温馨提示:需要从实验空间进入实验,不可直接输入网址进入 不可直接输入网址?我仔细看了下,发现实验空间的作用就是添加一个 token,如果直接进去就是游客,没有办法登录。 这下就好办了啊,虽然是游客,但是游客也可以做题啊,我用游客帐号先做了不就拿到答案了吗? 这个系统果然把正确答案显示在前端了,但是不太好看,于是我就跑去 F12 看了。 结果我在后台找到了下面的代码: $.ajax({ url: "/webApi/experimen/rig/getData", type: "GET", data: { courseId: courseId }, dataType: "JSON", success: function (res) { // 省略的大量代码逻辑 }); 下面的注释是原来就有,不是我加的。 对,这个系统没有对 js 做混淆甚至在代码里有详细的注释。 // 单选 var answer = $('.afterTesting .topic1 form'); for (var k = 0; k < answer.length; k++) { var question1 = $(answer[k]).find(".question1"); var questionAnswer = question1.attr("data-answer"); var userAnswer = question1.find("input[type='radio']:checked").val(); var score = parseFloat(question1.attr("data-score")); if (questionAnswer.length > 1) { var userdAnswer = question1.find("input[type='checkbox']:checked"); let userdAnswerStr = ''; for (let i = 0; i < userdAnswer.length; i++) { userdAnswerStr += $(userdAnswer[i]).val(); //console.log($(userdAnswer[i]).val()); } //console.log(userdAnswerStr); userAnswer = userdAnswerStr } var isok = ""; if (questionAnswer == userAnswer) { isok = "正确"; question1.find(".countItem span").html(score); resultafter += score } else { isok = "错误"; question1.find(".countItem span").html("0"); } question1.find(".yourAnswer span").html(isok); } 好家伙,前端直接向后台发请求拿答案数据,然后判断对错?这就好比考试的时候老师把答案和试卷都给你,让你自己写完试卷自己评分。 ...

八月 19, 2021 · Aimer Neige
nodejs logo

使用 nodejs 快速为 Android 程序构建 API

前言 之前在学习安卓的时候,很想要给自己的软件增加一个云服务功能,但是苦于没有学过后端,于是开始在互联网上查找资料。但是遗憾的是,后端是一个很大的范围,我查找了很多后端的资料也几乎都是在讲解如何写网页,并没有专门用来给安卓写后端的教程,在广泛地学习了大量后端内容后,成功的为自己的程序开发了一个简单的 API。希望这篇文章能够帮到那些没有系统地学习过后端,但是却想要快速开发一款能用的 API 的安卓开发者。 前期准备 你要了解互联网通讯原理 你要会一些基础的 JavaScript 你要有一台服务器 你会数据库操作 最好有一个域名(非必须) 掌握基础的终端操作 环境配置 本文章中后端开发使用的开发语言为 JavaScript 配合 nodejs。数据库采用常用的 mysql。 注: nodejs 开发常用的数据库是 mongodb,但是由于 mysql 比较常用这里就用 mysql 了,当然其他数据库也是可以的,你可以查找一下 nodejs 如何链接这些数据库,并将本文中 mysql 操作的部分替换掉就可以了。 本地测试客户端安装 你需要在自己用来开发的电脑上安装配置如下环境: nodejs npm 安装 nodejs Linux 下直接使用包管理安装即可。如果包管理安装的 node 很旧,可以自行谷歌一下安装方法,这里不再赘述。 以 Ubuntu 为例,直接在终端执行如下指令: sudo apt install nodejs 安装完成后使用 node -v 查看 node 版本来确认安装是否成功。 如果是 windows 用户就更加简单了,直接在 nodejs 官网 下载安装包运行即可。推荐使用长周期稳定版本。如果你想体验新特性,也可以考虑使用最新的版本。 安装 npm 通常情况下,安装 nodejs 时会附带安装 npm,你可以直接使用 npm -v 来查看当前系统安装的 npm 版本来检测安装情况。 ...

一月 30, 2021 · Aimer Neige