V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
annoy1309
V2EX  ›  问与答

求教,论坛如何在高匿名性和其他问题之间获取平衡?

  •  
  •   annoy1309 · 2018-10-29 20:11:43 +08:00 · 1540 次点击
    这是一个创建于 2195 天前的主题,其中的信息可能已经有所发展或是发生改变。

    楼主想做一个高匿名的论坛,就是服务器除了正文不存储任何发帖者信息只作为展示用。不需要验证手机号,以前做过一个草样,纯匿名,但是很快被广告屠版了
    遇到的问题

    1。身份冒充的问题,一个楼主开了个新帖,因为大家都是匿名的,谁都可以在回帖中冒充楼主。开头尝试,每次发帖结束后,都返回一个 64 位随机标识,以楼主身份发帖必须附上这个 64 位的标识(对他人不可见),系统才能标注为楼主。但是用户极度不友好。浏览器 Canvas 之类 WebRTC 之类指纹,是肯定不能用的,这就会降低匿名性。
    求解决方案

    2。水贴或者垃圾贴的堵截。开头使用第三方 Google 验证码,后来发现第三方验证码导致匿名性降低。因为每一次访问身份都是独立的,服务器也不储存 ip 对应,使得防水贴很难,之前有使用一个 js 来计算 sha256 来验证合法性
    具体逻辑:发帖后,服务器返回一个任意字符串,浏览器本地计算 sha512 ( sha256 (字符串+用户随机字符))小于某个值才行(此点参考了 btc ),返回这个值,服务器做一次验算来判断是否有发帖权限,甚至可以通过改值来控制发帖间隔
    遇到问题:很多高匿名用户用的浏览器( tor 之类)默认对 js 就是全局不信任不执行,很难去做 html 上的验算

    大家有什么建议或者有什么觉得需要改善的吗

    第 1 条附言  ·  2018-10-30 18:31:09 +08:00
    之所以不用用户账户层面匿名,我想达到的目的是,即使这个系统所有权限,落到了相关部门手里,对于数据库还是匿名的,就是数据库,日志,系统层面都不储存任何用户特征。<br/>
    js 和 cookie 在绝大多数高匿名浏览器内应该都是默认禁用的
    10 条回复    2018-10-30 19:18:54 +08:00
    whileFalse
        1
    whileFalse  
       2018-10-29 21:34:08 +08:00
    lz 了解基于 query string 的 cookie 吗?
    iConnect
        2
    iConnect  
       2018-10-29 21:52:34 +08:00 via Android
    匿名的程度越高,人性黑暗越凶猛,除非你再设置一种对抗黑暗的机制或力量。
    abeholder
        3
    abeholder  
       2018-10-29 22:53:32 +08:00
    可以在每个新用户第一次进入站点时前端就生成身份标识存入 localstorage, // localstorage.set('user', '...')

    然后在发帖的时候将其传给服务端,服务端将该标识与 /t/{tid} 进行绑定。// 持久化到数据库

    然后回帖什么的也都需要该标识,后端通过判断进行渲染标识该层是否为楼主或其他用户。

    这样的话,至少是不能冒充楼主了 ~








    假设论坛帖子是这样的形式 /t/{tid}

    然后在开新贴的时候将 tid 与当前用户

    然后每个发帖的用户
    abeholder
        4
    abeholder  
       2018-10-29 22:54:43 +08:00
    QAQ,发出去没看到下面还有一段 ,请无视楼上空白后的内容
    freed
        5
    freed  
       2018-10-29 23:00:34 +08:00
    匿名,和拥有自己独立的账号,不冲突吧?

    注册发帖不设置任何需要验证的东西

    登录账号除你以外他人不可见,随机分配昵称头像.

    这样也是匿名了吧~~


    话说..我想起了以前流行的网络聊天室..
    kslr
        6
    kslr  
       2018-10-30 00:56:07 +08:00
    IRC
    msg7086
        7
    msg7086  
       2018-10-30 05:12:38 +08:00
    如果不存储用户的辨识信息,那么这个用户所做的违法事件将不得不由你来承担责任。
    在做这样一套匿名之前,你准备好承担其中的法律风险了吗。
    C2G
        8
    C2G  
       2018-10-30 07:45:53 +08:00 via Android
    A 岛那样的呢?或者里岛?
    纯匿名的话参考网络聊天室
    RiESA
        9
    RiESA  
       2018-10-30 08:51:50 +08:00
    我觉得可以试试看只对用户层面匿名,有账号,但是都看不见名字,再给楼主加个特殊的标记就行了
    sky101001
        10
    sky101001  
       2018-10-30 19:18:54 +08:00 via iPad
    楼主或许可以参考下这个
    https://8chan.cc
    用加密的 cookie 存储身份信息,另外设置了一个小小的防刷帖机制,没有用到验证码。
    域名快要过期了,不打算继续开下去。所以请随意测试~
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   983 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 20:39 · PVG 04:39 · LAX 13:39 · JFK 16:39
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.