就是比如我有个这个平台的账号,这个账号是 VIP 账号,可以看全站的视频。 很有可能这个 VIP 账号的拥有者会卖给其他人,其他人就不用充 VIP 直接看全站视频了。 类似那种在线教育平台的感觉,只有买了课程的才可以看,但是有可能这个账号会被多人使用 这个问题怎么解决呢? 小弟我是自己琢磨不透,我想过用 IP 限制,但是国内的 IP 都不太固定的;想过用地区限制,也保不齐这个人突然换个地方啊;想过用 mac 地址绑定,这个我不知道怎么实现,不知道难度大不大;然后就没有其他更实用的想法了
刚接触开发没多久,还望各位大佬抽空为小弟我解惑
1
mf2019d 2019-02-20 18:36:23 +08:00 via iPhone 1
session 吧
我是外行 |
2
9hills 2019-02-20 18:37:45 +08:00 via iPhone 1
同一个帐号只能同时播放一个视频就好了,每次播放前验证
|
3
jiangnanyanyu 2019-02-20 18:39:09 +08:00 via Android 1
qq 异地登录也可以是正常的。腾讯怎么处理的呢?反正不能同时同一个账号登录
|
4
zidian9 2019-02-20 19:18:18 +08:00 4
用户每次登录的时候生成一个 accessToken,给用户,放到 cookie 里,以后每次请求网络,都拿 accessToken 来验证身份。
如果用户在别的地方登录,把老的 accessToken 就失效,只有新的 accessToken 有效,就可以保证用户单点登录。 同理,可以规定同时有效的 accessToken 数量,就可以控制用户可以同时最多在几个地方保持登录状态。 |
5
AngryPanda 2019-02-20 19:21:14 +08:00 via Android 1
不让同时登录就好了。
|
6
yangva OP @jiangnanyanyu 嗯,不是要同时登录,主要就是别让多个人使用这个账号,如果限制同时登录,这几个人可以协商分时段登录使用的吧
|
8
yangva OP @zidian9 感谢老哥,你这个想法非常妙,小弟佩服,可以保证同一个时刻只能一个人使用。不过还是那个问题,这几个人可以协商下,分时段登录使用,这个问题怎么解决,还望老哥有时间解答
|
9
jadec0der 2019-02-20 20:01:45 +08:00 1
没办法在不伤害用户体验的情况下用技术手段解决,你看优酷腾讯爱奇艺,共用会员造成的损失一年至少几个亿吧,不也忍了吗
|
10
yangva OP @jadec0der 嗯,老哥你说的这个确实是个问题。主要我之前看到个一个在线教育平台就是有这种策略,想着也这么做下试试
|
11
zhou00 2019-02-20 20:08:00 +08:00 1
楼上说的是,我的爱奇艺会员不知道给多少人用了,朋友买的网上课程账号给我依然可以看,共享的一般也就比较近的人,如果你的用户比较多的话,真要想看 VIP 还都是会自己付费的
|
12
chinvo 2019-02-20 20:08:30 +08:00 1
@yangva #6 协商共用的问题,记录登陆日志,包含登陆 IP 和 地点(用 GeoIP 之类的),然后程序判断异常登陆锁定账号就是了
|
13
FakeLeung 2019-02-20 20:09:56 +08:00 via Android 1
我的想法是,生成一个 token,一个用户只有一个 token,这样,新登录的就会把以前登录的挤掉。
前端一枚,瞎说的。 |
16
sucai 2019-02-20 20:14:19 +08:00 1
楼上很多老哥好像想歪了,楼主是要解决控制用户无法多地区多人登录问题,而不是一个用户登录挤掉另一个什么的
|
17
jadec0der 2019-02-20 20:14:30 +08:00
@yangva 如果是网课的话,我建议你增加在线作业之类的东西,提高自己平台的价值。否则就算你用麻烦的方案(比如硬件加密狗)防止了共用账号,也防不了别人录屏打包卖。
|
18
yangva OP @FakeLeung 嗯嗯,感谢老哥,楼上老哥用 accessToken 跟你说的应该是同一个思路
|
19
yangva OP @jadec0der 嗯嗯,视频加密了的,上面有个人账号的水印,现在的好多都是这么做的,录播的视频传开了的话是可以查到是谁录播的
|
21
honeyshine75 2019-02-20 20:50:44 +08:00
@yangva 给你的水印上加上马赛克你怎么查?
|
22
Kilerd 2019-02-20 20:56:09 +08:00 via iPhone
GEOIP 做限制就好了
|
23
yangva OP @honeyshine75 确实可以加马赛克,不过这个水印是随机在屏幕各处出现的,如果要加马赛克的话处理也要很久的,就看盗录的人的毅力了
|
25
hilbertz 2019-02-20 21:18:39 +08:00
客户端绑定硬件,根据硬件生成秘钥,上传到服务器,但问题是,你的内容是否真的这么值钱
|
26
bulldozer 2019-02-20 21:19:52 +08:00
最简单的办法就是动态密码,发短信给某一个手机。如果他们还能 share,那就算了
|
29
rootx 2019-02-20 21:28:11 +08:00 via iPhone
只做微信授权登录 加 单点登录
|
31
mystrylw 2019-02-20 21:44:56 +08:00 1
我在用的一个网站是账号限制 ip 段前两位 奈何我这里 ip 天天变 每次用几乎都要打电话给客服改 ip 段 干脆不用了
微信认证是个好办法 腾讯音乐就是这么认证的 |
33
1024MB 2019-02-20 21:48:41 +08:00 via Android
@AngryPanda 你是要笑死我,然后继承我的财产😂
|
34
yufeng0681 2019-02-20 22:49:38 +08:00
和业务期望有关
1、期望是一个人登录,那就不能保证人是不是换了,那就只能增加确认人身份的步骤(会降低用户体验),比如你提高风控标准,识别用户可能换人了, 你就开始出几个提示问题,让用户来回答,比如短信通知下发一条让用户确认,比如让用户选择,自己上一个登陆的设备,上一次使用 APP 的日期(选择题),这样就能把不同的人识别开,让他们用得比较痛苦。相信两个不坐在一起的人,这些手段都会让他们很受折磨; 2、期望是一个设备登录,可以获取手机的唯一标识,mac 设备 id, 苹果也有开放唯一 id 供 app 读取(虚拟的) |
35
learnshare 2019-02-20 22:55:44 +08:00
登录状态唯一即可。保存一下当前账号的登录状态,再次登录把之前的状态禁用
accessToken 是一种常见的方式 |
36
renmu123 2019-02-20 23:02:59 +08:00 via Android
比如判断两次登录的 ip 地址是否在同一城市,这样稍微能防一点
|
37
hellojinjie 2019-02-20 23:12:22 +08:00
前面楼说的只做微信登陆,绝对是妙招。你会出借账号,但估计你决定不会出借微信账号吧。
|
38
Ryetor 2019-02-20 23:24:15 +08:00 via Android
@hellojinjie 登微信扫码吗…这也不行啊
|
39
hyyou2010 2019-02-20 23:38:54 +08:00
这个是不可能绝对解决的,只能增加麻烦度。发短信验证,绑定微信都可以。就算你扫脸,卖账号的人同时发一张照片也能解。
|
40
Junn 2019-02-20 23:39:25 +08:00 via iPhone
不允许同时登录就不说了。另外记设备和 ip,两者同时改变则短信验证,短时间经常改变则禁止登录提示修改密码再登录
|
41
hyyou2010 2019-02-20 23:42:57 +08:00
我突然想到了一个比扫脸级别还高点的办法:验证声音。
|
43
hyyou2010 2019-02-20 23:56:35 +08:00
@Junn 谢,刚搜到正在看,这个的确厉害: https://docs.alipay.com/mini/introduce/zm-verify
|
44
yangva OP @yufeng0681 感谢老哥,你这个逻辑推论不错,我到时候试试
|
45
yangva OP @hyyou2010 感谢老哥回复,老哥你说的这个扫脸验声的就上升到一个高度了,还不至于这样,我也研究过网络安全相关的,了解过这方面的
|
46
guoyida 2019-02-21 06:11:59 +08:00 via iPhone
搜一下金盾视频加密,还有很多类似的软件,根据电脑生成机器码
|
47
zidian9 2019-02-21 10:05:27 +08:00
@yangva 这实际上不是一个技术问题,这是一个业务问题。可以尝试从业务规则上解决。
还有,我录屏放到百度贴吧,上面虽然有我的账号水印,但是不能说明是我传播的吧,比如我把账号密码贴在百度贴吧(合法),别人录屏传播。 严格意义上的 [视频只给买的人看] 实际上做不到,除非 [做视网膜识别,该视网膜看到的是教学视频,其余视网膜看到的是广告] ,否则,我线下把朋友叫到咖啡厅,让他在我的手机上观看视频呢? 根据你的业务有不同的解决方案,比如视频总量 1000 分钟,充钱 10 元能观看 2000 分钟 类似 你要是搞个 VIP 就能看全站视频,账号肯定要被租借的 |
48
Cloutain 2019-02-21 11:49:11 +08:00
如果是 WEB 端,重要的是保证不被盗录 [随机飘 ID] ,其他的手段太影响用户体验了
|
52
Hardrain 2019-04-06 16:27:33 +08:00 via Android
browser fingerprint 配合 IP 了解下
不过如果倒卖者起个代理服务器,再把看你视频的环境弄进一个虚拟机,照样能一号多用。而且 User-Agent(用户代理,包括但不限于同名的 HTTP header)提供的信息完全一样,似乎无法分辨。 |
53
yzg9540 2019-05-02 11:59:22 +08:00
微信手机号也想过,用户安全感太差
我现在的就是登录时 获取 ip 地址 浏览器 手机电脑系统等 accessToken+异地登陆警告+输出异地次数 后台手动操作查看 |