作为一个放在公网的 WEB 程序
如何最大程度的遏制账号分享行为与被盗问题。
(主要还是针对账号分享行为,之所以说最大程度,是因为凡事无绝对,人家登陆账号之后把电脑给别人用这种 谁也没辙,但要想办法增加分享的难度(比如每次都要麻烦账户主人,跟账户主人产生一次或数次的交互过程))
1 、传统的账号密码机制,显然无法实现标题需求,密码被盗或发给别人,那么账号就可以多人使用了,虽然服务端可以限制同一时间账号只能存在一个会话但也无法防范账号被分享的问题。作为互联网程序,也不能实现 IP 限制(什么常用地之类的),不方便,用户体验差。
2 、 U 盾, OTP , RSA 动态令牌等商业方案成本高,即便是采用谷歌的身份验证器实现也存在一个问题,那就是作为密钥的二维码扫描时无法控制对方是否多人同时扫描录入,出现这样的情况,意味着仍然可以多人共用同一个账户。
3 、账号结合短信验证的方式,实现手机绑定,那么想分享给别人用,至少每次也要麻烦手机主人获得验证码才行,这种方式目前比较普遍,但是管理方需要付出短信接口成本。
4 、开发基于网络身份验证授权的 pc 程序绑定主机使用 or 绑定手机的 APP 用以获取访问 WEB 的权限,这种方式的弊端就是涉及到多种平台的软件开发。用户要额外装程序
随便提了几点 求集思广益
|  |      1rekulas      2016-06-27 22:56:09 +08:00 视频网站防分享? 用户第一次登录产生一个 key 发送给用户,在其他设备登录需要邮件认证(or 其他认证)并重置 key 给用户,同一时间一个账户只有当前激活 key 才能登录 | 
|  |      2Shura      2016-06-27 23:15:33 +08:00 via Android 给 web 界面套个客户端,绑定一堆机器特征值,客户端动态生成 token ,避免伪造请求。 | 
|  |      3Loki2015 OP | 
|  |      4fcicq      2016-06-27 23:22:39 +08:00 这问题迟早要规约到 HSM 上去. | 
|      5XianZaiZhuCe      2016-06-27 23:24:20 +08:00 via iPhone 和设备关联起来,换了设备就要验证 | 
|  |      6lslqtz      2016-06-27 23:26:50 +08:00 via iPhone 防盗链,针对 IP 做,主人给别人用电脑你这个肯定没法子。 | 
|  |      7lslqtz      2016-06-27 23:27:39 +08:00 via iPhone 然后强制进行两次验证。 | 
|  |      8lshero      2016-06-27 23:30:59 +08:00 按次付费 | 
|  |      9ryd994      2016-06-28 01:34:38 +08:00 via Android 硬件密钥然后单会话互踢呢? 再绝一点可以所有数据加密传输,只能用硬件解密,这样就保证只有硬件连着才能访问 | 
|      10Jasmine2016      2016-06-29 10:00:04 +08:00 @lshero 66666 | 
|  |      11lshero      2016-06-30 00:30:40 +08:00 @Jasmine2016 以前的 FTP 站 现在的 PT 站 基本很少有人外借账号吧 都是下载完后二次分发 | 
|      12Jasmine2016      2016-06-30 08:28:34 +08:00 @lshero 我觉得按次付费的确是个挺有效的办法,但是估计这样的话很多人可能不买账。 |