多人数独游戏:卷土重来

2021-03-19 15:23:21 +08:00
 mythjava

[https://www.v2ex.com/t/747319]

这是之前的帖子

其实也没有做什么升级,只是将原来了 leancloud 换成了 腾讯云 腾讯云的云函数+云数据库还是便宜一点的...

还有改我棋盘的骚操作真的不知道怎么防御,希望大家做一个普通人

[https://github.com/myth984/sudoku]

3954 次点击
所在节点    分享创造
34 条回复
nightcatsama
2021-03-19 16:31:34 +08:00
imdong
2021-03-19 17:03:02 +08:00
其实我有几个疑问,为什么每次提交都要提交完整的棋盘?

如果有使用数据库,那是不是只需要改啥提交啥?

云函数的话,可以对数据进行验证,限制数据内容与位置吧?

如果服务器不做保存,那么可以考虑以下办法

实在不行,可以交给其他客户端进行验证,比如 A 提交了 异常的数据,BCDEF 用户收到以后,本地验证不正确,就主动延迟 随机时间后,提交更新(如果收到更新则取消延迟,避免并发修改).

这样,除非只有一个人,否则这边修改了,其他用户就会主动修改回来.

至于改原始棋盘,将原始棋盘数据与服务器保密的 token 做 hash 后给客户端,每次客户端提交都要带上这个 hash

这样,服务端只要验证 原始棋盘的 hash 是否正确就可以了,客户端由于不知道 token 则无法伪造 hash.
mythjava
2021-03-19 17:22:48 +08:00
@imdong
其实我有几个疑问,为什么每次提交都要提交完整的棋盘?
a:这个我就不清楚了 我记得是只有重来的时候 是提交完整的棋盘

如果有使用数据库,那是不是只需要改啥提交啥?
a:我记得我是这么搞的

云函数的话,可以对数据进行验证,限制数据内容与位置吧?
a:我用的比较咋,棋盘用的是腾讯云 cloudbase,聊天用的腾讯云函数,后续可以考虑统一

万分感谢,提出解决方案,感谢感谢
kiracyan
2021-03-19 17:26:32 +08:00
人多就乱
ignor
2021-03-19 17:46:05 +08:00
等一个人心不古[doge]
Raven316
2021-03-19 17:51:18 +08:00
随便选择一个数字,在格子上瞎点,最后居然过了?👍
mythjava
2021-03-19 18:47:58 +08:00
@ignor 人心不古阶段已经过了 现在网友们都在好好玩
silencelixing
2021-03-19 20:40:32 +08:00
chocovon
2021-03-19 21:48:06 +08:00
挺好,没有什么影响体验的操作限制,似乎也没有恶意用户出现?看来还是人间自有真情在啊哈哈
Edwards
2021-03-20 14:54:00 +08:00
有个老哥自闭了
AkashicRecords
2021-03-21 20:44:06 +08:00
@nightcatsama 做得很棒啊!
guangming3055
2021-03-21 21:32:22 +08:00
试了一下,挺好玩,需要预选功能,不然后面就弄不清楚了,对了,实时在线人数也安排一下
chenyu8674
2021-03-22 13:59:16 +08:00
试了一把不是唯一解啊,瞎填都能过
mythjava
2021-03-22 15:31:11 +08:00
@chenyu8674 是的 我认为数独就不应该是唯一解,我理解的可能有偏差

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

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

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

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

© 2021 V2EX