2013-05-05 13 views
7

私のアプリでチャット機能を実装するために、XMPPフレームワークを統合しました。バディ要求機能はないため、ユーザーはバディ要求を送信せずに他のユーザーにメッセージを送信できます。この機能のために、私は、アプリケーション内のリストやプライバシーリストを作成していないし、匿名のチャットモードが実装されています。XMPPで匿名ユーザーをブロックする方法

これは匿名ユーザーチャットであ​​るため、ユーザーのプライバシーリストは存在しないため、XEPP拡張機能XEP-016はプライバシーリストのブロックのみをサポートしているため、

私も代替案を探してみましたが、そのうちの1つはXEP-0191を実装することですが、残念なことにOpen Fireはこの拡張をサポートしていません。

だから、techiesはこの問題を解決するために私を導きます。以下は私の質問です。

  1. 匿名ユーザーチャットモードでユーザーをブロックするには、プライバシーリスト/名簿を作成する必要がありますか。私のアプリは何千人ものユーザーを抱えている可能性があるので、

  2. 私はJabberサーバーをオープンファイアからEJabberに変更しますか? 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は、Rosterとは何の関係もなく、匿名ユーザーのチャットをブロックできます。

+0

私はあなたと同様のアプリをやっており、私は匿名ユーザーをブロックできません。この機能をどのように達成したのかを教えてください。私はejabberサーバーでxmppを使用しています。 –

+0

@ Sunil_Vaishnavあなたはjabberサーバー上のブロックされたユーザーのプライバシーリストを維持する必要があります。ユーザーがブロック/ブロック解除されるたびに、そのプライバシーリストを変更する必要があります。詳細は、XEP-0016を参照してください。 – sandy

+0

@sandy、@ Sunil_Vaishnav XMPPでユーザーを簡単にブロックし、ブロックを解除したいと思っています。 https:// stackoverflow。com/q/46155095/2910061ありがとうございました。 – ilesh

1

私はEJabberサーバーに関する経験はありませんが、XEP 0191は必要なプロトコルです。

ここではhttp://www.ejabberd.im/protocolsをご覧になり、EJabberがあなたのプロトコルをサポートしています。

私の助言は、サーバーを変更することです。

1

とにかくブロックが駄目です。ユーザーをブロックすると、新しい匿名ユーザーが作成され、再度連絡を受けることができます。これは多くの努力のように思えるかもしれませんが、スパムメッセージを送信するために簡単にスクリプト化することができます。 30分ごとに新しいアカウントを作成し、全員をスパムし、蹴って繰り返します。

少なくとも、XEP-0191(サーバーサイドブロックリスト)を実装し、匿名の新しいアカウントを処理する方法を理解する必要があります。

関連する問題