gpt4 book ai didi

XMPP 白名单?

转载 作者:行者123 更新时间:2023-12-03 23:56:28 27 4
gpt4 key购买 nike

我们有一个 QuickBlox 的企业安装(它是 implements XMPP),并且想在我们的 QuickBlox 服务器安装上为我们的所有用户创建镜像帐户。我们还希望同步我们系统的用户使用在我们系统上建立的关系(例如,“客户和提供商”)创建的网络。

简而言之,我们希望导出将聊天“对手”限制为仅与我们的每个用户已经建立关系的那些用户的白名单。如果用户 1 在我们的系统中与用户 2 和用户 3 存在关系,但没有用户 4 到用户 40,我们希望能够使用 QuickBlox API 通过 QuickBlox API 创建白名单来在聊天中强制执行该关系。

编辑:我们不能使用“荣誉系统”白名单。也就是说,强制执行必须在服务器端使用客户端无法规避的方法。出于隐私考虑,用户之间必须存在难以避免的障碍。

Use case:

A QuickBlox (or XMPP) server has User1 through User40, inclusive.

User1's whitelist is comprised of [User2, User3] only.

If User1 attempts to contact User15, we want QuickBlox/XMPP to note that User15 is not on User1's whitelist and block that communication as if User1 had bidirectionally blocked that user.



隐私名单,又名黑名单

我在 QB 的文档中找到了引用 XMPP 规范文档的地方,并且发现了隐私列表的概念,它似乎作为黑名单运行:
  • https://quickblox.com/developers/Web_XMPP_Chat_Sample#Privacy_lists
  • https://xmpp.org/extensions/xep-0016.html#protocol-syntax

  • 这些只提供 two styles of blacklist privacy :

    You can choose a type of blocked logic (Privacy List). There are 2 types:

    • Block in one way. You are blocked, but you can write to blocked user.
    • Block in two ways. You are blocked and you also can't write to blocked user.


    服务器白名单(对话级,非用户)

    我还找到了有关服务器白名单的文档,这些文档似乎在对话/jid 而非用户级别上运行:
  • https://xmpp.org/extensions/xep-0133.html#edit-whitelist

    An entity added to a whitelist MAY be a JID of any form as specified in RFC 6120... a whitelist may prevent inbound communications, outbound communications, or both...


  • 花名册——仅“存在”细节?

    还有一些接近白名单的名单,但在我的测试中,它们似乎没有限制可能不在彼此名单上的任何两个用户之间的通信。
  • https://quickblox.com/developers/Web_XMPP_Chat_Sample#Get_the_roster

  • 也就是说,我还没有在我的测试应用程序中设置名册,尽管没有明确接受任何名册请求,用户仍可以创建组和一对一聊天对话。在 Android 文档中,我在名册上发现了以下内容:“[名册] 是一个人为其接收状态更新的用户集合。”我不相信,这不会以存在警报之外的任何方式阻止。

    问题

    是否有建议的方法为每个用户创建一个悲观白名单,其中仅包含允许与之通信的那些用户?或者我们是否被迫创建和维护“反向黑名单”,在那里我们为每个新用户自动创建隐私列表,阻止每个其他用户,然后使用 API 删除每个用户应该能够与之通信的那些?

    如果我们必须使用“反向黑名单”,是否有办法将默认黑名单应用于最初阻止与我们 QuickBlox 系统中已有的所有其他用户进行通信的每个新用户?

    (同样,我们不能使用“荣誉系统”列表。如果客户端必须请求激活白名单才能使用它,可以 freely discoverthen change 激活白名单,或者如果客户端可以 decline to use a list,这不够安全。)

    最佳答案

    XMPP 客户端

    XMPP 客户端需要一种方法来询问其他客户端是否支持通过中继接收推送。由于可以从任何地方发送推送,客户端也可以通过中继直接向其他客户端发送推送,只要他们拥有 friend 的白名单 token 。如果消息是由不支持直接推送的客户端发送的,他们还需要响应 XMPP 服务器对白名单 token 的查询,以允许服务器发送推送。

    XMPP 服务器

    XMPP 服务器可以询问其连接的客户端是否支持推送中继,如果支持,则在客户端离线时将收到的消息转发到推送中继服务器。这将要求 XMPP 服务器也从用户那里获取白名单 token 。

    帮助:看这个link

    关于XMPP 白名单?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42252381/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com