V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
Reign
V2EX  ›  程序员

怎样尽可能限制用户在我的网站上只能注册一个账号?

  •  
  •   Reign · Jun 11, 2018 · 9884 views
    This topic created in 2877 days ago, the information mentioned may be changed or developed.

    因为是下载资源站,每个账号下载的次数有限,为了防止同一用户同时注册多个账号来薅网站资源,有哪些方法限制只能注册一次?不可能做到绝对,只是尽可能减少注册次数,我能想到的:

    1. 只能第三方登录,但是 QQ 登录或者微博登录还要审核,非常麻烦
    2. 写一个类似于 evercookie 的 js,把 Local storage, IndexedDB, Session Storage 还有 cookie 都写满来标注此客户端,但是,用户一清理数据,又完了
    3. 用 fingerprint.js 来标注客户端,但是我始终觉得这个 js 误伤率比较高,感觉会存在很多设备相同的 fingerprint 而误杀一些客户端,不太靠谱

    求聪明的 V2er 们想想

    78 replies    2018-06-12 09:57:01 +08:00
    yulitian888
        1
    yulitian888  
       Jun 11, 2018
    当真要做的话,学银行,柜面发放 U 盾,一劳永逸。
    或者每次登陆都要求短信验证码,麻烦点但是基本靠谱
    一般的话,微信登陆就足够挡住多数情况了
    unifier
        2
    unifier  
       Jun 11, 2018
    手机号验证呢?门槛会高很多吧
    Reign
        3
    Reign  
    OP
       Jun 11, 2018
    @yulitian888 U 盾太不现实,微信登录还要审核,搞得好麻烦
    Reign
        4
    Reign  
    OP
       Jun 11, 2018
    @zacharyjia 全球性的用户,不是大陆用户,手机号验证也不太现实
    airyland
        5
    airyland  
       Jun 11, 2018
    前端终究容易绕过,微信授权登录+绑定手机+ip 限制。
    VShawn
        6
    VShawn  
       Jun 11, 2018
    收费注册呗
    imdong
        7
    imdong  
       Jun 11, 2018
    嗯,参考 CSDN 的注册套路,反正我是被卡住了...
    使用微信同号的手机验证码。
    chanssl
        8
    chanssl  
       Jun 11, 2018
    IP 限制吧。
    另外把一些常见的十分钟邮箱之类的加入黑名单
    daigouspy
        9
    daigouspy  
       Jun 11, 2018 via Android
    @Reign 怎么不可以?有全球性的短信平台啊!
    Reign
        10
    Reign  
    OP
       Jun 11, 2018
    @chanssl ip 代理一搜一大堆,十分钟邮箱一搜也一大堆,ban 不完
    mengdisheng
        11
    mengdisheng  
       Jun 11, 2018
    当然是手机验证。。。全球也是这样 因为我就是这么干的。。不要有问题上来就主观臆断
    opengps
        12
    opengps  
       Jun 11, 2018
    借助微信实现吧,起码要想养一堆微信必然得需要多个手机,手机微信一退,电脑版就得退出。
    不过这个招数可以手动交替登录不同微信号突破(能做到避免机器人操作就差不多了)
    KingPL
        13
    KingPL  
       Jun 11, 2018   ❤️ 2
    限制的 成本太高才是楼主纠结的事情嘛....
    zjsxwc
        14
    zjsxwc  
       Jun 11, 2018
    验证手机短信注册不是现在国家都要求的吗?
    jmc891205
        15
    jmc891205  
       Jun 11, 2018 via iPhone
    免费注册 收费下载
    wormcy
        16
    wormcy  
       Jun 11, 2018
    单个 ip 下载超过一定量之后限速
    wly19960911
        17
    wly19960911  
       Jun 11, 2018
    帆布指纹识别( CANVAS FINGERPRINTING )

    前段时间看见的,好像哪个 V2 发帖发现通过清理各种数据仍然被记载了身份信息,同样的,好像最后发现是基于 canvas 的识别。

    先验证这个,然后辅助验证身份,试试可行不?毕竟有误伤率。
    wly19960911
        18
    wly19960911  
       Jun 11, 2018
    @wly19960911 #17 哦,我搞错了,看到了楼主用了,跑了(
    hackshen
        19
    hackshen  
       Jun 11, 2018
    只有绑定手机才可以下载
    lmmortal
        20
    lmmortal  
       Jun 11, 2018 via iPhone
    同一个 IP+所谓指纹在指定时间内只能下载 xx 个资源,这不就跟那种网赚网盘一样吗
    ccbikai
        21
    ccbikai  
    PRO
       Jun 11, 2018 via iPhone
    微信授权,手机登录。 可以加强难度
    SorcererXW
        22
    SorcererXW  
       Jun 11, 2018
    建议根据 ip 来做, 即使用户可以很容易地更换 ip, 但大多数用户不会, 所以影响不大的
    如果用其他方式, 为了下载一个资源, 还得交出手机号或者微信, 侵犯隐私了, 宁愿不下载
    SoulGem
        23
    SoulGem  
       Jun 11, 2018 via iPhone
    想做到 100%是不可能的,只能说想看愿意投入多少成本。微信登录基本上已经能避免一大堆刷小号的了,因为薅羊毛的想要搞那么多微信号也不容易。说到底我觉得为什么不在下载行为上做验证,比如同一天某个 IP 大量下载完配额之后又用第二个号继续下载。
    sonyxperia
        24
    sonyxperia  
       Jun 11, 2018
    姓名、手机、身份证号:三要素认证
    微信登录
    rb6221
        25
    rb6221  
       Jun 11, 2018 via Android
    既然是下载站,那就等级积分门槛,第一层就可以,然后是下载时延迟 20 秒分配线路,这也是很多下载站常用的手法,防止非人工刷。至于人工刷,那就 ip 控制吧,不用太严就行
    zarte
        26
    zarte  
       Jun 11, 2018
    邮箱验证吧,可以限制一定数量。
    likuku
        27
    likuku  
       Jun 11, 2018
    直接收注册费,不缴费不给注册,收费机制可参考域名购买。
    ioth
        28
    ioth  
       Jun 11, 2018
    不收费没意义。
    jennifertxwoodma
        29
    jennifertxwoodma  
       Jun 11, 2018
    手机号作为用户名,然后验证,然后设置 unique 一下
    a7a2
        30
    a7a2  
       Jun 11, 2018
    @Reign 全球也是可以发短信的无论是 aws、aliyun 还是其他短信接口都是可以做到全球发的
    mydns
        31
    mydns  
       Jun 11, 2018
    手机验证注册
    mooo
        32
    mooo  
       Jun 11, 2018
    手机认证。微信 facebook 二选一
    kutata
        33
    kutata  
       Jun 11, 2018
    @VShawn 666
    opengps
        36
    opengps  
       Jun 11, 2018
    @wormcy 你让那些二级三级运营商网络怎么活,举个栗子:某城宽带券市出口带宽不到 10G,几百万人口共享几万 ip
    yxwzaxns
        37
    yxwzaxns  
       Jun 11, 2018 via iPhone
    很简单,手持身份证拍照(⁎⁍̴̛ᴗ⁍̴̛⁎)
    linda102
        38
    linda102  
       Jun 11, 2018
    免费注册,收费下载
    Raymon111111
        39
    Raymon111111  
       Jun 11, 2018
    绑定手机
    polymerdg
        40
    polymerdg  
       Jun 11, 2018
    来个低成本的
    绑定微信,类似 server 酱 发送验证码
    zj299792458
        41
    zj299792458  
       Jun 11, 2018 via iPhone   ❤️ 1
    注册时上传裸持身份证照片绑定
    wormcy
        42
    wormcy  
       Jun 11, 2018   ❤️ 1
    @opengps 并没有到没法活的程度吧,同城共享同一个 ip 的用户同时在一个规模可能不大的下载站下载文件,这个概率本身就很低。限速又不是不能下,对用户来说限速到 100k 还是 50k,影响并不会很大。
    wormcy
        43
    wormcy  
       Jun 11, 2018
    @opengps 另外可以加上时间限制,几个小时之后下载量重新统计
    opengps
        44
    opengps  
       Jun 11, 2018
    各种限制都有局限性,组合使用找个损失尽量低的

    方法似乎就这么几个:
    实名认证
    银行卡绑定
    微信扫码绑定
    短信验证码
    邮箱验证码
    ip
    cookie
    自己研发特定客户端
    4263Ad06Awk3b1Do
        45
    4263Ad06Awk3b1Do  
       Jun 11, 2018
    可以学学 B 站,搞个答题考试
    doubleflower
        46
    doubleflower  
       Jun 11, 2018
    邮箱注册,只认大公司的邮箱如 qq,gmail 等
    现在注册个邮箱也是要手机号了吧,间接相当于你用手机号验证了
    22too
        47
    22too  
       Jun 11, 2018
    语音验证码。转接成本较高。
    xomix
        48
    xomix  
       Jun 11, 2018
    要知道 S1 注册新号 10 元 RMB 不退,还不是一大堆赵小姐,还发展成固定收入了都………………
    所以你要唯一性方法就那么多,但是效果也就那样,你看看要花 RMB 的别人不是也一样花钱嘛。
    whileFalse
        49
    whileFalse  
       Jun 11, 2018
    @wly19960911 mac 同尺寸同浏览器这指纹一样。
    dallaslu
        50
    dallaslu  
       Jun 11, 2018
    只能支付宝登录,限信用分 700 以上才能使用
    Felldeadbird
        51
    Felldeadbird  
       Jun 11, 2018
    既然全球性,直接上指纹啊。之前 V2 有人发帖子说过这个。我记得那篇教程说到,不论是否隐身窗口,得到的指纹都是唯一的。
    winglight2016
        52
    winglight2016  
       Jun 11, 2018
    楼主的问题,别的下载网站也有同样需求,你找一下同类网站参考一下不就知道了?我发现 prefiles 这个网站是最会折腾免费用户的,你可以了解一下
    9684xtpa
        53
    9684xtpa  
       Jun 11, 2018
    @doubleflower #46 赞同
    uptime
        54
    uptime  
       Jun 11, 2018
    把你 #4 「全球用户」加上 append 上,这里 N 多人是不看回复补充的,甚至有 N 多人只看标题不看内容的,也有 N 多的人与语文老师是有仇恨的……
    qinxi
        55
    qinxi  
       Jun 11, 2018
    @Felldeadbird 看来你没测试过.隐身模式和正常模式的值是不一样的.但是隐身模式下确实是不变的.如果 F12 模拟手机的话 换一个机型指纹都不一样.
    Ginray
        56
    Ginray  
       Jun 11, 2018
    歪个楼,可以参考下 warframe 的注册机制,我是不相信有人愿意再去注册一个账号的。。。
    Gothack
        57
    Gothack  
       Jun 11, 2018
    同一个 IP 短时间内禁止切换账号?
    johnidy
        58
    johnidy  
       Jun 11, 2018
    机器硬件配置+os user name 来鉴权
    wekw
        59
    wekw  
       Jun 11, 2018
    没用的,就算是刷脸也可以用自己亲人的脸
    jiangzhuo
        60
    jiangzhuo  
       Jun 11, 2018
    成本最小的就是第三方登录,接芝麻信用吧
    psklf
        61
    psklf  
       Jun 11, 2018
    剑走偏锋 邀请注册
    flyingfz
        62
    flyingfz  
       Jun 11, 2018
    出客户端吧。
    在客户端里 做唯一用户的验证 ,相对比较容易。没浏览器 那么多限制。
    bk201
        63
    bk201  
       Jun 11, 2018
    通过支付接口,比如付款 1 分钱注册,获取支付用户信息。
    jizhu
        64
    jizhu  
       Jun 11, 2018
    实名认证,对接芝麻信用,
    17 开头的号码限制注册,
    一个手机号码只能注册一个,
    只接受手机号码注册,并且需要用户自己发短信给你,
    腾讯就是这样做的,因为一些小号和卡商的号只能接收,不能发短信给 106 的号码。
    暂时想到这么多,其他的楼上说了。
    yankebupt
        65
    yankebupt  
       Jun 11, 2018
    使用以太币之类的附加条件智能合约,让用户交 5 块到 50 块人民币扣上个半年,到期合约自动返还。如果检测到大量注册就触发处罚条件,扣他个 3-5 年。智能合约应该可以写明无论如何吞不掉钱(不会被你拿到),但是你应该可以决定押金数量。
    仅限于你是真的想限制 leecher 数量。如果你只是想绑定对方的 ID 身份利于收集兴趣便于和毒瘤合作推送广告或诈骗,手机号之类传统方法还是不二法门。
    AutumnEmber
        66
    AutumnEmber  
       Jun 11, 2018 via Android
    什么资源站,这么牛逼搞付费下载好了。
    chuhemiao
        67
    chuhemiao  
       Jun 11, 2018
    手持身份证验证,:D
    weakish
        68
    weakish  
       Jun 11, 2018
    @chuhemiao 严格来说无解。个别人有多张身份证。
    shakaraka
        69
    shakaraka  
    PRO
       Jun 11, 2018
    @Reign
    手机号(全球都一样,找个短信平台服务商就行了)
    邮箱
    身份证
    手持身份证照


    其实就看你平台有什么东西是有多好的,让用户拼命也要注册你的平台才对。微信也避免不了有很多小号、刷号的
    ety001
        70
    ety001  
       Jun 11, 2018
    收费是最好的方式,没有之一。如果担心有信誉问题,参考 65L。
    meteor2013
        71
    meteor2013  
       Jun 11, 2018
    @Felldeadbird 怎么个上指纹啊?容易实现不?
    F1024
        72
    F1024  
       Jun 11, 2018
    临时邮箱的 id 屏蔽一波
    Bryan0Z
        73
    Bryan0Z  
       Jun 11, 2018 via Android
    首选验证手机号啊,这个门槛相当高了,用户还方便。国外这种一般只会要你邮箱,送羊毛之前一般会让你预充个 1 刀,或者填信用卡信息,然后记录你的支付方式,判断是不是同一个用户重复薅羊毛。
    这种事本来就不应该通过技术手段解决。
    Don9
        74
    Don9  
       Jun 11, 2018 via Android
    说实话手机验证码的门槛比较低,网络上接码平台太多了,微信登陆比较靠谱,腾讯在微信这方面做得挺好的,还有限制 ip 也是一个考虑的方向。
    akira
        75
    akira  
       Jun 12, 2018
    所有的方案 最终就是成本的问题.
    弄一堆东西让别人想办法花钱跳过 还不如直接收费 简单直接粗暴
    feverzsj
        76
    feverzsj  
       Jun 12, 2018
    参考裸条
    jss
        77
    jss  
       Jun 12, 2018 via iPhone
    @Reign 注册验证短信啊,国际短信一条才多少钱…
    cncqw
        78
    cncqw  
       Jun 12, 2018
    充钱吧,会员制度
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1304 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 165ms · UTC 23:45 · PVG 07:45 · LAX 16:45 · JFK 19:45
    ♥ Do have faith in what you're doing.