【发布时间】:2022-01-19 15:03:57
【问题描述】:
我正在做一个项目,我们需要使用(有点)社交网络实现聊天系统。我们选择使用 Ejabberd(还有其他建议吗?)。
- 如何防止第三方 xmpp 客户端连接到服务器?
- 当涉及到谁可以向谁发送消息的权限时,我们是否需要创建我们的自定义 Ejabberd 模块?
谢谢:)
【问题讨论】:
标签: erlang xmpp ejabberd ejabberd-module
我正在做一个项目,我们需要使用(有点)社交网络实现聊天系统。我们选择使用 Ejabberd(还有其他建议吗?)。
谢谢:)
【问题讨论】:
标签: erlang xmpp ejabberd ejabberd-module
我们如何防止第三方 xmpp 客户端连接到服务器?
一些想法:
从 IP 地址过滤连接,如果它们应该来自您已经知道的小范围。请参阅https://docs.ejabberd.im/admin/configuration/basic/#acl-definition 中的ip ACL
修改 ejabberd 中现有的身份验证机制,以使只有您的客户知道如何被 ejabberd 接受。当然,有人可以对您的秘密方法进行逆向工程并编写替代客户端。
当涉及到谁可以向谁发送消息的权限时,我们是否需要创建我们的自定义 Ejabberd 模块?
一些想法,也许您可以调整您的要求以使用其中之一:
mod_isolation:作用于 vhost 级别 https://github.com/processone/ejabberd-contrib/tree/master/mod_isolation
mod_filter:作用于 ACL 级别。 https://github.com/processone/ejabberd-contrib/tree/master/mod_filter
而且可能是最好的一个:设置mod_roster->access 以不允许用户修改他们的名册。然后将mod_block_strangers 设置为只允许人们与其名册中的人交流。最后用所需的联系人填充名册(为此,您可以使用push_roster_all 或任何让您的生活更轻松的命令)
【讨论】: