各位 V2EX 的大佬们,小弟我在做个在线视频的小项目,就是怎么解决一个账号被多人异地使用的问题

2019-02-20 18:32:25 +08:00
 yangva

就是比如我有个这个平台的账号,这个账号是 VIP 账号,可以看全站的视频。 很有可能这个 VIP 账号的拥有者会卖给其他人,其他人就不用充 VIP 直接看全站视频了。 类似那种在线教育平台的感觉,只有买了课程的才可以看,但是有可能这个账号会被多人使用 这个问题怎么解决呢? 小弟我是自己琢磨不透,我想过用 IP 限制,但是国内的 IP 都不太固定的;想过用地区限制,也保不齐这个人突然换个地方啊;想过用 mac 地址绑定,这个我不知道怎么实现,不知道难度大不大;然后就没有其他更实用的想法了

刚接触开发没多久,还望各位大佬抽空为小弟我解惑

5542 次点击
所在节点    编程
53 条回复
mf2019d
2019-02-20 18:36:23 +08:00
session 吧

我是外行
9hills
2019-02-20 18:37:45 +08:00
同一个帐号只能同时播放一个视频就好了,每次播放前验证
jiangnanyanyu
2019-02-20 18:39:09 +08:00
qq 异地登录也可以是正常的。腾讯怎么处理的呢?反正不能同时同一个账号登录
zidian9
2019-02-20 19:18:18 +08:00
用户每次登录的时候生成一个 accessToken,给用户,放到 cookie 里,以后每次请求网络,都拿 accessToken 来验证身份。
如果用户在别的地方登录,把老的 accessToken 就失效,只有新的 accessToken 有效,就可以保证用户单点登录。
同理,可以规定同时有效的 accessToken 数量,就可以控制用户可以同时最多在几个地方保持登录状态。
AngryPanda
2019-02-20 19:21:14 +08:00
不让同时登录就好了。
yangva
2019-02-20 19:52:38 +08:00
@jiangnanyanyu 嗯,不是要同时登录,主要就是别让多个人使用这个账号,如果限制同时登录,这几个人可以协商分时段登录使用的吧
yangva
2019-02-20 19:53:08 +08:00
@9hills 嗯,感谢老哥,我想想你说的这个怎么实现
yangva
2019-02-20 19:56:41 +08:00
@zidian9 感谢老哥,你这个想法非常妙,小弟佩服,可以保证同一个时刻只能一个人使用。不过还是那个问题,这几个人可以协商下,分时段登录使用,这个问题怎么解决,还望老哥有时间解答
jadec0der
2019-02-20 20:01:45 +08:00
没办法在不伤害用户体验的情况下用技术手段解决,你看优酷腾讯爱奇艺,共用会员造成的损失一年至少几个亿吧,不也忍了吗
yangva
2019-02-20 20:05:59 +08:00
@jadec0der 嗯,老哥你说的这个确实是个问题。主要我之前看到个一个在线教育平台就是有这种策略,想着也这么做下试试
zhou00
2019-02-20 20:08:00 +08:00
楼上说的是,我的爱奇艺会员不知道给多少人用了,朋友买的网上课程账号给我依然可以看,共享的一般也就比较近的人,如果你的用户比较多的话,真要想看 VIP 还都是会自己付费的
chinvo
2019-02-20 20:08:30 +08:00
@yangva #6 协商共用的问题,记录登陆日志,包含登陆 IP 和 地点(用 GeoIP 之类的),然后程序判断异常登陆锁定账号就是了
FakeLeung
2019-02-20 20:09:56 +08:00
我的想法是,生成一个 token,一个用户只有一个 token,这样,新登录的就会把以前登录的挤掉。


前端一枚,瞎说的。
yangva
2019-02-20 20:12:38 +08:00
@zhou00 嗯嗯,确实是这样
yangva
2019-02-20 20:13:34 +08:00
@chinvo 感谢老哥提供思路,我想想这个异常怎么判定
sucai
2019-02-20 20:14:19 +08:00
楼上很多老哥好像想歪了,楼主是要解决控制用户无法多地区多人登录问题,而不是一个用户登录挤掉另一个什么的
jadec0der
2019-02-20 20:14:30 +08:00
@yangva 如果是网课的话,我建议你增加在线作业之类的东西,提高自己平台的价值。否则就算你用麻烦的方案(比如硬件加密狗)防止了共用账号,也防不了别人录屏打包卖。
yangva
2019-02-20 20:15:16 +08:00
@FakeLeung 嗯嗯,感谢老哥,楼上老哥用 accessToken 跟你说的应该是同一个思路
yangva
2019-02-20 20:17:27 +08:00
@jadec0der 嗯嗯,视频加密了的,上面有个人账号的水印,现在的好多都是这么做的,录播的视频传开了的话是可以查到是谁录播的
yangva
2019-02-20 20:19:21 +08:00
@sucai 嗯,感谢老哥回复,是这样的

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

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

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

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

© 2021 V2EX