2013-05-05 31 views
7

爲了在我的應用中實現聊天功能,我已經將XMPP框架集成到它中。沒有好友請求功能,因此用戶可以發送消息給其他用戶而不發送好友請求。由於此功能,我沒有在應用程序中創建任何名單或隱私列表,並且匿名聊天模式已經實施。如何在XMPP中阻止匿名用戶

一切正常,只是阻止用戶的功能很好的,因爲它是一個匿名用戶聊天,因此沒有爲用戶沒有隱私列表,以及XMPP擴展XEP-016只支持通過隱私列表封鎖。

我也試圖尋找替代方案,其中之一是實施XEP-0191可惜明火不支持這個擴展。

所以技術人員請指導我解決這個問題。以下是我的問題。

  1. 我是否需要創建一個隱私列表/名單來阻止匿名用戶聊天模式的用戶。這個解決方案看起來不切實際,因爲我的應用程序可能有數千用戶。

  2. 我也要改變從明火EJabber Jabber服務器?是否Ejabber支持XEP-0191

從上面請讓我知道,如果你們知道任何其他解決辦法來阻止/解除在Jabber的匿名用戶聊天模式下的用戶

分開。

回答

0

不幸的是我必須堅持使用Open Fire服務器。爲了解決阻塞用戶問題,我必須通過XMPP文檔並最終在XEP-0016中找到解決方案,這個擴展確實有能力支持匿名用戶阻塞。要完成這一步,必須使用- (void)setListWithName:(NSString *)privacyListName items:(NSArray *)items fromUser:(NSString *)user;方法在服務器上創建一個隱私列表。完成後,通過調用方法- (void)setActiveListName:(NSString *)privacyListName;將創建的列表標記爲活動列表。

XEP-0016與名冊無關,它可以阻止匿名用戶聊天。

+0

我已經在做類似的應用程序,因爲我不能阻止匿名用戶。你可以請分享你是如何實現這個功能的。我正在使用ejabber服務器的xmpp。 – 2014-07-19 07:47:26

+0

@Sunil_Vaishnav你需要在jabber服務器上維護一個被阻止用戶的隱私列表。每次用戶被阻止/解鎖時,您都需要在該隱私列表中進行更改。有關更多信息,請參閱XEP-0016。 – sandy 2014-07-29 14:07:23

+0

@sandy,@ Sunil_Vaishnav我想在XMPP中簡單地阻止和取消阻止用戶請在下面的鏈接中找到更多信息。 https://開頭計算器。com/q/46155095/2910061謝謝。 – ilesh 2017-09-11 12:02:13

1

我有EJabber服務器沒有經驗,但XEP 0191絕對是你所需要的協議。

您可在此http://www.ejabberd.im/protocols看看,看看,這EJabber支持您的協議。

我的建議是更改服務器。

1

無論如何,一個塊是沒有意義的。如果你阻止一個人,他們可以創建一個新的匿名用戶並開始再次聯繫你。雖然這可能看起來像很多努力,但它可以很容易地發送垃圾郵件的腳本。每30分鐘你創建一個新帳戶,並給每個人發送垃圾郵件,被踢出並重復。

至少,你將不得不實施XEP-0191(服務器端塊列表),並找出如何應對匿名的新帳戶。