如何在XMPP中阻止匿名用户

为了在我的应用中实现聊天功能,我已经将XMPP框架集成到了它中。 没有好友请求功能,因此用户可以发送消息给其他用户而不发送好友请求。 由于此功能,我没有在应用程序中创建任何名单或隐私列表,并且匿名聊天模式已经实施。

除拦截用户功能外,一切正常,因为这是匿名用户聊天,因此没有用户的隐私列表,并且XMPP扩展XEP-016仅支持通过隐私列表进行阻止。

我也尝试寻找替代方案,其中之一是实施XEP-0191,但不幸的是,Open Fire不支持此扩展。

所以技术人员请指导我解决这个问题。 以下是我的问题。

  • 我是否需要创建隐私列表/名单以阻止匿名用户聊天模式的用户? 这个解决方案看起来不切实际,因为我的应用程序可能有数千用户。

  • 我应该将Jabber服务器从开火更改为EJabber吗? Ejabber是否支持XEP-0191

  • 除了上述之外,如果你们知道其他解决方法,可以在Jabber中以匿名用户聊天模式阻止/取消阻止用户,请告诉我们。


    我没有使用EJabber服务器的经验,但XEP 0191绝对是您需要的协议。

    你可以在这里看看http://www.ejabberd.im/protocols,看看,EJabber支持你的协议。

    我的建议是更换服务器。


    无论如何,一个街区是无意的。 如果你阻止一个人,他们可以创建一个新的匿名用户并开始再次联系你。 虽然这可能看起来像很多努力,但它可以很容易地发送垃圾邮件的脚本。 每30分钟你创建一个新帐户,并给每个人发送垃圾邮件,被踢出并重复。

    至少你将不得不实施XEP-0191(服务器端阻止列表)并弄清楚如何处理匿名的新账户。


    不幸的是我必须坚持使用Open Fire服务器。 为了解决阻塞用户问题,我必须通过XMPP文档并最终在XEP-0016中找到解决方案,这个扩展确实有能力支持匿名用户阻塞。 要做到这一点,必须在服务器上创建一个隐私列表,使用- (void)setListWithName:(NSString *)privacyListName items:(NSArray *)items fromUser:(NSString *)user; 方法。 完成后,通过调用方法将创建的列表标记为活动列表- (void)setActiveListName:(NSString *)privacyListName;

    XEP-0016与Roster无关,它可以阻止匿名用户聊天。

    链接地址: http://www.djcxy.com/p/94149.html

    上一篇: How to block anonymous user in XMPP

    下一篇: Jabber client issue with Authentication c#