吐槽一下「光合新知」的后端开发

昨天写 Yangcong-tools 的时候稍微扒了一下洋葱学园的 API。当时在写阶段试炼的相关逻辑。

然后就看到了两个请求。

第一个,功能为「提交单题进度」。

[POST] https://school-api.yangcong345.com/vacation/student/homework/user-stage-problem-record

Payload:
{
    "taskID": "<REDACTED>",
    "stageId": "<REDACTED>",
    "subjectId": "<REDACTED>",
    "homeworkId": "<REDACTED>",
    "problemId": "<REDACTED>",
    "problemType": "single_choice",
    "answers": [
        "<REDACTED>"
    ],
    "correct": true,
    "partCorrect": false,
    "isComplete": true,
    "score": 0,
    "duration": <REDACTED>
}

第二个,功能为「提交全部题目」,就是「交卷」。

[POST] https://school-api.yangcong345.com/vacation/student/homework/user-stage-problem-record

Payload:
{
    "taskID": "<REDACTED>",
    "finished": true,
    "stageProblemRecords": [
        {
            "problemId": "<REDACTED>",
            "problemType": "single_choice",
            "answers": [
                "<REDACTED>"
            ],
            "correct": true,
            "partCorrect": false,
            "isComplete": true,
            "score": 0,
            "duration": <REDACTED>
        }
    ]
}

仔细一看,发现两次 POST 的请求 URL 一模一样,其他的也没什么不同。但是请求体的数据完全不一样。

什么新式阴间 API。

这就很离谱了。没看懂光合新知的人在干啥。

还有之前的一个漏洞,VIP 视频后端没做鉴权。

API 还有加密。部分加密,部分明文,没看懂在干啥。而且 AES 密钥是十分弱的弱口令。

没看懂主播操作。

还有几个测试网站(估计是开发用的),GitHub 上随手一搜就可以搜出来。

私有组件文档

私有 Npm 仓库

就不放网址了。

这就是……算大厂还是小厂呢……互联网企业的水平吗……