在社交网络应用程序中使用 Ejabberd 的正确方法是什么?
What's the right way to use Ejabberd in a social network App?
我正在做一个项目,我们需要用(有点)社交网络实现聊天系统。我们选择使用 Ejabberd(还有其他建议吗?)。
- 如何防止第三方 xmpp 客户端连接到服务器?
- 当涉及到谁可以向谁发送消息的权限时,我们是否需要创建自定义 Ejabberd 模块?
谢谢:)
How can we prevent third party xmpp clients from connecting to the server ?
一些想法:
从 IP 地址过滤连接,如果它们应该只来自您已知的小范围。请参阅 https://docs.ejabberd.im/admin/configuration/basic/#acl-definition
中的 ip
ACL
以只有您的客户知道如何被 ejabberd 接受的方式修改 ejabberd 中的现有身份验证机制。当然,有人可以对您的秘密方法进行逆向工程并编写替代客户端。
When it comes to permissions of who can message who, do we need to create our custom Ejabberd module ?
一些想法,也许您可以调整您的要求以使用其中之一:
mod_isolation:作用于虚拟主机级别 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 to not allow users modifying their rosters. Then set mod_block_strangers to only allow people communicate with people in their rosters. And finally populate the rosters with the desired contacts (for that you can use push_roster_all 或任何让您的生活更轻松的命令)
我正在做一个项目,我们需要用(有点)社交网络实现聊天系统。我们选择使用 Ejabberd(还有其他建议吗?)。
- 如何防止第三方 xmpp 客户端连接到服务器?
- 当涉及到谁可以向谁发送消息的权限时,我们是否需要创建自定义 Ejabberd 模块?
谢谢:)
How can we prevent third party xmpp clients from connecting to the server ?
一些想法:
从 IP 地址过滤连接,如果它们应该只来自您已知的小范围。请参阅 https://docs.ejabberd.im/admin/configuration/basic/#acl-definition
中的ip
ACL以只有您的客户知道如何被 ejabberd 接受的方式修改 ejabberd 中的现有身份验证机制。当然,有人可以对您的秘密方法进行逆向工程并编写替代客户端。
When it comes to permissions of who can message who, do we need to create our custom Ejabberd module ?
一些想法,也许您可以调整您的要求以使用其中之一:
mod_isolation:作用于虚拟主机级别 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 to not allow users modifying their rosters. Then set mod_block_strangers to only allow people communicate with people in their rosters. And finally populate the rosters with the desired contacts (for that you can use push_roster_all 或任何让您的生活更轻松的命令)