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