收到学校要求下架学生服务相关的小程序

2021-10-28 08:05:59 +08:00
 sunnysab

我有一个朋友,咳咳,本科阶段(未毕业)开发了一款微信小程序。用户提供学校统一登录的用户名和密码,然后程序去拉取成绩、课程表、消费等信息,并提供给用户。项目是开源的,服务器放在境内云服务器上。

然后近期信息化技术中心以《数据安全法》、《网络安全法》为由,要求停止运营。此前,他们在刚开发这款小程序时向信息化技术中心提出过合作,当时对方拒绝并提出两个选项:

  1. 程序给信息化技术中心运营,学生只负责开发,都不带挂名的,并且要写信息化技术中心提的需求。
  2. 给信息化技术中心打工,维护学校的系统( C#、Java 之类),按勤工助学( 12/h )给钱。

然后谈崩了。

现在情况是:

  1. 由于需要走学校统一登录,所以数据库大概率需要明文存储用户密码。一个解决方案是,数据库中存储一个对称加密后的密码,小程序前端存储一个 key ,每次用户操作时解密。或,数据库不存储用户密码,全部放到小程序前端以满足合规性。其实没啥用,因为理论上还是能获取用户密码的。我现在倒是觉得用户密码是累赘。

  2. 由于请求过多,数据库中缓存了一些数据。一些学校页面需要近 10 秒才能访问。并且,由于一些功能大家之前不咋用,但是因为小程序使得查询更方便了,所以查询次数增多(如成绩),因此我同学认为其他一些业务数据的缓存也是必要的。

技术约束:

  1. 要走学校的上网认证系统去连公网,不然啥都传不出去。
  2. 信息化技术中心总能顺着网线找过来。

其他:

  1. 其实做这个事情最大的阻力还是同学指导老师,都不会和信息化技术中心争取一下。
  2. 其实是学校网站里的一些数据有问题,他们不想我同学频繁查,这样去提数据有问题的人就变多了。为此他们还让我同学下架了一个模块。
  3. 感觉是学校部门之间的问题,信息化技术中心主要是想清闲点不给自己找事情,学校知道了不知道会不会支持。其实服务器放学校什么的,包括运营和学校联合起来、我们都接受的。
  4. 该项目从设计之初就是不盈利、无广告。云服务器靠学校报销,无金钱利益牵扯。

请问:

  1. 个人为主体的小程序,在这种情况下,数据是否存在合规性相关问题。
  2. 不想这个项目荒废,现在应该咋办?我同学打算先拖拖,后面以个人名义运营。
14139 次点击
所在节点    问与答
149 条回复
a1gslyghmqnl
2021-10-28 11:20:01 +08:00
我不信他们学校只有你同学一个人做学生服务的。也就是说其他人一样在自行保存用户的学号和密码。这种事太扯淡了。最好的解决方案是他们给学校做一个 oauth 平台。
soulmine
2021-10-28 11:21:00 +08:00
冷知识 建议 lz 看看爬虫是什么定罪的
coosir
2021-10-28 11:25:19 +08:00
已经违法了,不知道你在坚持什么……
ysc3839
2021-10-28 11:26:14 +08:00
我校也有人搞过类似微信小程序,也被学校发文警告了。不过开发团队把代码开源了自证清白,加上很多同学支持,学校把他们招安了。现在的情况是有负责的老师进行管理,服务器由学校免费提供,好像是没有工资。
remarrexxar
2021-10-28 11:27:36 +08:00
内网数据在外网做存储,这是怎么都不会允许的
crab
2021-10-28 11:29:03 +08:00
@yanzhiling2001 出 BUG 等问题的时候就知道区别了。
thtznet
2021-10-28 11:30:28 +08:00
@yanzhiling2001 不能说这是对错的,在国内的环境里可能是最优解的,但这就是非常典型的中国式思维,所以在软件的大部分领域我们国家的基础设施建设都要仰人鼻息。
C603H6r18Q1mSP9N
2021-10-28 11:38:55 +08:00
关掉吧

确实存在分险,这个分险谁承担?
盈利吗?盈利了出现问题直接进去,不盈利何必折腾

或者直接脱敏开源,谁需要自己玩
seeyisee
2021-10-28 11:41:02 +08:00
感觉这个小程序学生也不会使用的很频繁啊,课程表也不用每天看,成绩就更不用说了。消费信息指的是饭卡消费?谁没事查这个干啥啊?
sunnysab
2021-10-28 11:46:38 +08:00
@seeyisee 现在用户量挺大的,实名用户数覆盖两个年级。日打开 20k ,主要是查课表。查成绩 /电费 /消费这种确实按理说不会很多,但是放到小程序上之后,大家总会想去点一下。哈哈哈。


@ysc3839 羡慕,我们也没有工资。
@coosir
siyi412009
2021-10-28 11:47:21 +08:00
一开始谈崩那会学校那边是找不到苦力给他打工了?到现在找到苦力给他打工了就想把你这边了解了是吧
首先你同学毕业了没 毕业了又没利益牵扯 他也没拿公众号盈利 法律层面为啥会违规我不懂
PrinceofInj
2021-10-28 12:11:36 +08:00
你这是面向监狱开发。机关单位那么多难用的系统,你以为没有人能改进一下么?为啥没人开发一个第三方的去优化呢?
peanut996
2021-10-28 12:18:40 +08:00
建议本地化😅
Patrick95
2021-10-28 12:27:58 +08:00
这熟悉的剧情…曾经也遇到过类似的事
BeautifulSoap
2021-10-28 12:38:49 +08:00
关得非常合理,光是在自己数据库里存学生们的账号密码这点就直接出局了,更何况你还缓存了学生们的成绩数据

你说这是为了模拟登陆、优化性能技术上必须的,但是实际上这行为,说你是在违法收集学生们的账号密码信息,成绩信息你能反驳吗?

我是能理解 lz 的,作为学生年轻气盛想要做出点东西来往往不会掺杂太多邪念,但是学生思维的局限性往往不在技术方面,而在于做事太过欠缺考虑了。

别的不说,lz 做这项目的时候有考虑过安全防护吗?这里说的安全防护不是指你顶楼说的什么密码这么简单的东西,而是你把一个内网服务直接给暴露到公网上,考虑过你们写的服务或者你们服务器如果有安全漏洞被入侵了之后黑客直接获取到大量学生成绩信息的危险吗? 到时候你们团队有觉悟背起责任轻则退学重则坐牢吗?

啥,“我们会做好安全防护的”,说真的安全防护这事即便是大公司的专门团队都头痛,学生的团队你确定真的能做得非常好吗?而且安全漏洞有时候还不是程序本身,忘了设 ip 限制,忘了自动 ban ip 这些人为因素很容易就考虑遗漏。

而且问题最大还不光于此,你只考虑了技术安全因素,但考虑到了人为安全因素吗?你的服务器数据库是谁掌握的,谁有管理权,都是学生组建的团队如何保证和团队里的学生不会为了自己私欲偷偷连上服务器、缓存、数据库去偷看别人的信息或者盗用别人账号篡改选课信息之类的,而且团队成员自己轻车熟路抹掉脚印后怎么查?到时候整个团队被搞到警察局里去慢慢审你确定顶得住?如果你服务器在学校里怎么防止有其他人直接社会工程学跑你电脑前直接入侵?

这些问题 lz 和团队有仔细想过吗?
ryh
2021-10-28 12:41:56 +08:00
赶紧招安吧,分分钟他们都能搞得你都毕不了业
erlangshanxia
2021-10-28 12:52:59 +08:00
我当年做这个学校也没说什么呀。。归根结底是学校不行。
yangyaofei
2021-10-28 13:00:47 +08:00
觉得改成 electron 挺好, 每个人自己数据自己存, 不存在问题
06_taro
2021-10-28 13:09:48 +08:00
站在学校计网中心的角度上讲,采纳你朋友(?)这个系统的后果:

1. 学生们纷纷表示新系统很好,你朋友真厉害写出这个系统;
1.1 比之前学校的破系统好用多了,学校原来什么水平花钱搞的东西还没学生写的好;
2. 中心主任评职称的时候看看这套系统,貌似也不好意思写到工作总结里,毕竟原系统也不是不能用,现在这个新玩意还得靠老系统继续用,方便学生什么的上面的大人物是不会明白的;
3. 万一出问题,就算把你朋友拿出来顶,自己的位子大概会保不住。如果遇到大问题,譬如学校系统本身严重漏洞但是全在内网,从你这个代理节点发现了这个漏洞然后作为跳板进去把学校整个系统爆破了,就算是校长都不一定扛得住。

这个情况下,如果不是非常有魄力愿意推进一些学生工作的人,谁会同意采纳你朋友这个系统?

所以此前学校再刚开发的时候提出的两个选项,首先先解决 1/2 点里面论功的问题。至于近期又要求停止运营,大概率是看了看你朋友这个系统,安全风险太大,第 3 点里出事的情况根本扛不过来,连招安的意义都没有了。

计网中心的角度看这个问题就是这样。

至于你朋友自己的角度,技术上前面建议已经很多了。另外再说一句,没有官方支持靠抓数据做的这个系统,不转型的话,该放弃可以及时放弃,最多作为一个个人练手的玩玩就够了。作为学生现在可能觉得可惜,沉没成本花了不少,但是毕业出来一年再回来看这个系统,大概率你朋友会不屑把它写进简历里……
sunnysab
2021-10-28 13:18:35 +08:00
@BeautifulSoap 技术上的安全这一块,我同学目前做的是:服务器只开放 443 和 22 ,服务器开日志,密码全部用哈希值随机生成。数据库不暴露在公网,需要使用 SSH 隧道去连接。

非技术的安全这块,目前是两个人有密码,确实是个问题,你做再多也没法让别人相信你——何况毕业之后就无法控制了。之前想法是,尽量提高操作成本,至少不能让啥技术不懂就有邪念的得逞。确实欠妥。


@06_taro 谢谢!

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/811121

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX