2013-05-05 16 views
7

Per implementare la funzionalità di chat nella mia app, ho integrato il framework XMPP in esso. Non esiste una funzionalità di richiesta buddy quindi gli utenti possono inviare messaggi ad altri utenti senza inviare una richiesta di buddy. A causa di questa funzionalità, non ho creato alcun elenco di Roster o di Privacy nell'app e la modalità di chat anonima è stata implementata.Come bloccare l'utente anonimo in XMPP

Tutto funziona perfettamente, tranne la funzionalità di blocco utente, poiché si tratta di una chat utente anonima, pertanto non esiste un elenco di privacy per gli utenti e l'estensione XMPP XEP-016 supporta solo il blocco tramite l'elenco di privacy.

Ho anche provato a cercare le alternative e uno di loro è implementare XEP-0191 ma sfortunatamente Open Fire non supporta questa estensione.

Quindi i tecnici mi guidano per risolvere questo problema. Di seguito sono le mie domande.

  1. ho bisogno di creare una lista di privacy/roster per bloccare un utente in modalità chat utente anonimo. Questa soluzione sembra poco pratica dato che la mia app potrebbe avere migliaia di utenti.

  2. Devo cambiare il server Jabber da open fire a EJabber? Supportati da Ejabber XEP-0191

Oltre dall'alto per favore fatemi sapere se voi ragazzi Conoscete qualche altra soluzione per bloccare/sbloccare un utente in modalità chat utente anonimo in Jabber.

risposta

0

Purtroppo devo attenermi al server Open Fire. Per risolvere il problema degli utenti di blocchi ho dovuto consultare la documentazione di XMPP e finalmente ho trovato la soluzione in XEP-0016, questa estensione ha la capacità di supportare il blocco anonimo dell'utente. Per ottenere ciò, è necessario creare un elenco di privacy sul server utilizzando il metodo - (void)setListWithName:(NSString *)privacyListName items:(NSArray *)items fromUser:(NSString *)user;. Una volta terminato, contrassegnare l'elenco creato come Elenco attivo chiamando il metodo - (void)setActiveListName:(NSString *)privacyListName;.

XEP-0016 non ha nulla a che fare con Roster e può bloccare la chat anonima dell'utente.

+0

Ho un'applicazione simile alla tua e non sono in grado di bloccare l'utente anonimo. Puoi per favore condividere come esattamente hai raggiunto questa funzionalità. Sto usando xmpp con il server ejabber. –

+0

@Sunil_Vaishnav avresti bisogno di mantenere un elenco di privacy degli utenti bloccati su jabber server. Ogni volta che un utente viene bloccato/sbloccato, è necessario apportare modifiche a tale elenco di privacy. Si prega di fare riferimento a XEP-0016 per ulteriori informazioni. – sandy

+0

@sandy, @ Sunil_Vaishnav Voglio bloccare e sbloccare l'utente in XMPP. Per ulteriori informazioni, vedere sotto il collegamento. https: // StackOverflow.it/q/46155095/2910061 Grazie. – ilesh

1

Non ho esperienza con EJabber server, ma XEP 0191 è sicuramente il protocollo necessario.

Si può dare un'occhiata qui http://www.ejabberd.im/protocols e vedere, che EJabber supporta il protocollo.

Il mio consiglio sarà quello di cambiare il server.

1

Un blocco è comunque valido. Se blocchi una persona, potrebbero semplicemente creare un nuovo utente anonimo e iniziare a contattarti di nuovo. Anche se questo potrebbe sembrare un grande sforzo, potrebbe facilmente essere copiato per inviare messaggi di spam. Ogni 30 minuti crei un nuovo account e invii spam a tutti, prendi calci e ripeti.

Per lo meno si dovrà implementare XEP-0191 (elenco di blocchi laterali del server) e capire come gestire nuovi account anonimi.