V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
GM
V2EX  ›  微信

说个笑话:微信小程序认为用户昵称、头像是用户隐私

  •  
  •   GM · 2020-03-17 17:55:40 +08:00 · 4605 次点击
    这是一个创建于 1711 天前的主题,其中的信息可能已经有所发展或是发生改变。

    用户设置昵称、头像,就是想公开展示给其他人看的,然而微信小程序团队认为这些资料是用户隐私数据,需要用户授权才能获取。

    嗯,好吧,你说是就是。


    还有,微信小程序团队认为,没经过用户授权程序就直接能显示用户头像和昵称的话,用户会觉得很奇怪,所以禁止程序直接获取用户信息,必须要通过 getUserInfo 组件来授权获取。

    这个逻辑我能理解,估计大家也都能,好了然后高潮来了:

    为了让大家能直接显示微信用户头像、昵称,微信小程序团队体贴地提供了一套 open-data 组件,可以用来直接显示用户头像、昵称、性别、城市等所有“隐私数据”,无需用户授权。

    嗯,说好的“用户会觉得很奇怪”呢?


    对了还有:

    微信小程序团队认为用户 openId 是敏感信息,然而小程序可以通过 wx.login + code2session 直接获取,整个过程完全无需用户同意。


    笑死我了,哈哈哈哈哈哈哈哈哈哈哈......

    ...

    扶额,欲哭无泪......

    ...

    呸!

    33 条回复    2020-04-28 12:44:14 +08:00
    ersic
        1
    ersic  
       2020-03-17 18:01:27 +08:00 via Android   ❤️ 1
    头像跟昵称本来就是隐私呀,主动授权可以拿到头像昵称等信息然后你能存下来。这个 open data 组件我没用过,但我猜那个仅仅是显示在用户端,服务端是拿不到的,两者没啥冲突啊。
    luckyrayyy
        2
    luckyrayyy  
       2020-03-17 18:03:08 +08:00
    本来就是隐私,很多人昵称是姓名,头像是本人。
    GM
        3
    GM  
    OP
       2020-03-17 18:03:18 +08:00
    @ersic 你没 get 到关键点:

    [没经过用户授权程序就直接能显示用户头像和昵称的话,用户会觉得很奇怪]
    然后
    [通过 open-data 组件可以直接显示用户头像、昵称、性别、城市等所有“隐私数据”,无需用户授权。]
    ersic
        4
    ersic  
       2020-03-17 18:06:25 +08:00 via Android
    @GM 我觉得这个措施是为了保护用户隐私没啥问题。直接显示用户会觉得很奇怪,是官方在哪写的?还有这种奇怪的理由。
    lshero
        5
    lshero  
       2020-03-17 18:06:56 +08:00
    只是不想简单的让你直接把用户的头像和昵称直接发送到你自己的服务器上去薅用户的关系链而已
    falcon05
        6
    falcon05  
       2020-03-17 18:09:30 +08:00 via iPhone
    楼上说得对,我觉得这样处理没毛病
    amon
        7
    amon  
       2020-03-17 18:12:11 +08:00   ❤️ 2
    当别的产品要获取你微信的信息时,任何信息都是隐私,
    当微信要获取你的信息时,任何信息都不是隐私。
    qinrui
        8
    qinrui  
       2020-03-17 18:14:16 +08:00 via iPhone
    张小龙:一亿人教我如何做微信
    6IbA2bj5ip3tK49j
        9
    6IbA2bj5ip3tK49j  
       2020-03-17 18:14:45 +08:00
    这完全没问题啊。
    1,open-data,用户界面能显示,里面数据你拿不到
    2,openId,微信没说是隐私数据啊
    different
        10
    different  
       2020-03-17 18:17:51 +08:00 via Android   ❤️ 1
    这不是隐私吗?相反,我觉得这样非常人性化,我不小心点开了你的小程序,或者只是打算进去看看是什么东西,但我压根就不想让你知道我是谁。或者不想让你知道我来过。我凭什么不小心点进来了,就得告诉你我的头像和昵称?
    🐶🐶🐶🐶🐶🐶
    eason1874
        11
    eason1874  
       2020-03-17 18:23:46 +08:00
    头像、昵称是用户隐私,很多人的头像昵称可以用来社工搜索。

    OpenID 是脱敏的,不同应用获取同一个用户的 OpenID 得到的值不一样。
    GM
        12
    GM  
    OP
       2020-03-17 18:24:28 +08:00
    @xgfan 说了的,开发文档里说的:“openid 等敏感信息”
    GM
        13
    GM  
    OP
       2020-03-17 18:25:48 +08:00
    @xgfan 哦,没说是隐私数据,说是“敏感数据”
    eason1874
        14
    eason1874  
       2020-03-17 18:27:32 +08:00
    @GM #12 OpenID 只对你的应用敏感,对用户不敏感,因为每个应用获取到的值是不一样的,在你这里拿到某个用户的 OpenID 只能在你这里用,去别处用不了。
    GM
        15
    GM  
    OP
       2020-03-17 18:38:42 +08:00
    @eason1874 那么,在我这想用就用,想获取就获取,拿到别的地方一点用都没有,哪里敏感了?
    eason1874
        16
    eason1874  
       2020-03-17 18:57:40 +08:00
    @GM #15 你只向用户暴露他自己的 OpenID 就不敏感,你要不小心批量暴露了就敏感,具体怎么个敏感法看你的标准和用法。
    GM
        17
    GM  
    OP
       2020-03-17 19:02:30 +08:00
    @eason1874 哪怕全部泄露了,任何人依然无法用来获取用户任何信息,哪里敏感了?

    用户名称和头像确实有点隐私,这个我基本同意,这个就不争了。搞笑的是后面的部分。
    yujiang
        18
    yujiang  
       2020-03-17 19:07:52 +08:00 via Android
    张小龙:又是一个教我做微信的
    duxiansen
        19
    duxiansen  
       2020-03-17 19:12:40 +08:00
    我也觉得 OpenID 这样处理没毛病,只对单个应用有效,如果需要一个平台下所有应用关联的话,需要用 UnionID,这个在小程序里需要授权。open-data 展示的数据拿不到,只能自己看,类似 iOS 应用也可以不用授权就能读取到相册,但是应用本身获取不到相册里面的内容
    eason1874
        20
    eason1874  
       2020-03-17 19:24:06 +08:00
    @GM #17 我说了,看你的标准和用法。如果你把 OpenID 作为查询参数且链接没有加密就暴露给用户,这时候用户又得到了你其他用户的 OpenID,那他就可以构造针对其他用户的假请求。
    mumbler
        21
    mumbler  
       2020-03-17 19:26:38 +08:00 via Android
    @GM 如果你用 openid 作为用户唯一标识去公开传输,我批量拿到你用户 openid 就可以攻击你啊,模拟用户在你程序操作,发表言论,这还不够敏感么,所以微信建议用 sessiondata 方式,而不要公开传输 openid
    GM
        22
    GM  
    OP
       2020-03-17 19:26:55 +08:00   ❤️ 1
    还是第一次听说用户能在微信里自己构造请求,求用户在微信里构造假请求的方法。
    微信开发工具里倒是可以,问题是你得加入到开发者列表里才能用这个工具。
    aWangami
        23
    aWangami  
       2020-03-17 23:48:14 +08:00 via Android
    如果说这么一个场景,你在 Chrome 里面设置了头像和昵称,当你打开任意一个网站的时候都可以不经过授权网站就能拿到这些信息,你觉得是否合理?
    Tokin
        24
    Tokin  
       2020-03-18 00:28:55 +08:00
    getUserInfo 需要授权才能获取,服务器也能拿到这个数据。
    open-data 仅仅只是用户端显示,但是服务器拿不到这里的数据。
    想要 openId,不要先经过 getUserInfo 吗?也就是 getUserInfo 授权一次之后之后无需授权,这么处理完全没问题吧。
    alphatoad
        25
    alphatoad  
       2020-03-18 04:20:16 +08:00 via iPhone
    就是因为有你这样不尊重隐私的开发者我们才不得不用 iPhone
    GM
        26
    GM  
    OP
       2020-03-18 10:14:47 +08:00
    @aWangami
    我想说的搞笑的地方:
    官方团队说:[没经过用户授权程序就直接能显示用户头像和昵称的话,用户会觉得很奇怪]
    然后:官方团队又提供一套 open-data 组件可以直接显示用户头像、昵称、性别、城市等所有“隐私数据”,无需用户授权。

    @Tokin 要 openId 直接 wx.login 然后 code2session 即可,整个过程对用户透明,完全无需用户参与,无需授权。
    xingyuc
        27
    xingyuc  
       2020-03-18 10:42:40 +08:00
    @alphatoad 微信那套骗骗普通用户还行,你获取到了 openid 还不是想干嘛干嘛
    GM
        28
    GM  
    OP
       2020-03-18 12:29:43 +08:00
    @xingyuc 你说能干嘛?嘛都干不了。这东西就跟用户 ID 一个样,就纯粹一个 guid 而已,除了该平台之外,任何人拿了都没任何用处。
    xingyuc
        29
    xingyuc  
       2020-03-19 17:58:13 +08:00
    @GM 那是现在严格了,以前可以发送通知啥的,随随便便获取 formid
    feiandxs
        30
    feiandxs  
       2020-04-27 22:04:41 +08:00
    @GM code2session 这个记不清了,其实更坑的我认为还是在公众号里。

    不过你说的 open-data 组件还真的没问题。

    因为这个组件只限于用户本地可以看得到,可以读取,对开发者是屏蔽了的,开发者并不能通过 open-data 这个组件获取到任何用户信息,只有那个用户自己访问的时候自己看得到而已。
    GM
        31
    GM  
    OP
       2020-04-28 10:42:18 +08:00
    @feiandxs 你还是看明白为什么我觉得好笑:
    第一,官方团队说:[没经过用户授权程序就直接能显示用户头像和昵称的话,用户会觉得很奇怪]
    第二,官方团队又提供一套 open-data 组件可以直接显示用户头像、昵称、性别、城市等所有“隐私数据”,无需用户授权。

    也就是说,实际上小程序是可以[没经过用户授权程序就直接能显示用户头像和昵称]的!直接打脸第一条。
    feiandxs
        32
    feiandxs  
       2020-04-28 11:47:04 +08:00
    @GM

    我不觉得好笑,虽然微信开发团队人神共愤,是个开发者都想喷他们的文档到体系,但是……

    不争这个了,笑就笑吧。

    因为你讲的 1,2 亮点我都没在官方发言中找到,这就没法讨论了……

    就算了吧。

    张小龙真傻。
    GM
        33
    GM  
    OP
       2020-04-28 12:44:14 +08:00
    @feiandxs 他们员工是这样给开发者答疑的:
    当你作为一个用户进入一个小程序,这个小程序并没要求你授权就直接把你的头像昵称显示出来(它之前把 unionId 对应的头像昵称都存了下来),但是这个小程序主体( open 平台主体和公众平台主体并不相同)相关的任何一个应用你从来没用过,你会不会觉得很奇怪并且很不舒服,觉得自己在微信内的用户信息没有丝毫的保障?

    当然了,如果认为员工的回答不算官方的话,我也无话可说,因为那确实不是正式官方正式发言的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2634 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 04:34 · PVG 12:34 · LAX 20:34 · JFK 23:34
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.