2013-05-05 9 views
7

में अज्ञात उपयोगकर्ता को अवरुद्ध करने के लिए कैसे करें मेरे ऐप में चैट कार्यक्षमता को लागू करने के लिए, मैंने इसमें एक्सएमपीपी फ्रेमवर्क एकीकृत किया है। कोई मित्र अनुरोध कार्यक्षमता नहीं है इसलिए उपयोगकर्ता किसी मित्र अनुरोध के बिना अन्य उपयोगकर्ताओं को संदेश भेज सकते हैं। इस कार्यक्षमता के कारण मैंने ऐप में कोई रोस्टर या गोपनीयता सूची नहीं बनाई है, और अनाम चैट मोड लागू किया गया है।एक्सएमपीपी

ब्लॉक उपयोगकर्ता कार्यक्षमता को छोड़कर सब कुछ ठीक काम करता है, क्योंकि यह एक अज्ञात उपयोगकर्ता चैट है इसलिए उपयोगकर्ताओं के लिए कोई गोपनीयता सूची नहीं है, और एक्सएमपीपी एक्सटेंशन XEP-016 केवल गोपनीयता सूची के माध्यम से अवरुद्ध करने का समर्थन करता है।

मैंने विकल्पों को देखने की भी कोशिश की है और उनमें से एक XEP-0191 को कार्यान्वित करना है, लेकिन दुर्भाग्य से ओपन फायर इस एक्सटेंशन का समर्थन नहीं करता है।

तो तकनीकी कृपया इस समस्या को ठीक करने के लिए मुझे मार्गदर्शन करें। मेरे प्रश्न निम्नलिखित हैं।

  1. क्या मुझे अज्ञात उपयोगकर्ता चैट मोड में किसी उपयोगकर्ता को अवरोधित करने के लिए गोपनीयता सूची/रोस्टर बनाने की आवश्यकता है। यह समाधान अव्यवहारिक लगता है क्योंकि मेरे ऐप में हजारों उपयोगकर्ता हो सकते हैं।

  2. क्या मैं जैबर सर्वर को खुली आग से ईजेबर में बदल दूंगा? क्या Ejabber समर्थन XEP-0191

ऊपर से मुझे पता है अगर तुम लोगों को ब्लॉक/अस्पष्ट में अनाम उपयोगकर्ता चैट मोड में एक उपयोगकर्ता को अनवरोधित करना किसी अन्य वैकल्पिक हल बताएं

अलावा।

उत्तर

0

दुर्भाग्यवश मुझे ओपन फायर सर्वर से चिपकना होगा। ब्लॉक उपयोगकर्ता समस्या को ठीक करने के लिए मुझे एक्सएमपीपी के दस्तावेज के माध्यम से जाना पड़ा और अंततः XEP-0016 में समाधान मिला, इस एक्सटेंशन में वास्तव में अज्ञात उपयोगकर्ता अवरोधन का समर्थन करने की क्षमता है। इसे पूरा करने के लिए - (void)setListWithName:(NSString *)privacyListName items:(NSArray *)items fromUser:(NSString *)user; विधि का उपयोग कर सर्वर पर गोपनीयता सूची बनाना है। एक बार विधि - (void)setActiveListName:(NSString *)privacyListName; पर कॉल करके बनाई गई सूची को सक्रिय सूची के रूप में चिह्नित करें।

XEP-0016 रोस्टर के साथ कुछ लेना देना नहीं है और यह अज्ञात उपयोगकर्ता चैट को अवरुद्ध कर सकता है।

+0

मैंने आपके जैसा ही ऐप किया है और मैं अनाम उपयोगकर्ता को अवरोधित करने में सक्षम नहीं हूं। क्या आप कृपया साझा कर सकते हैं कि आपने इस कार्यक्षमता को वास्तव में कैसे प्राप्त किया। मैं empber सर्वर के साथ xmpp का उपयोग कर रहा हूँ। –

+0

@Sunil_Vishnav आपको jabber सर्वर पर अवरुद्ध उपयोगकर्ताओं की गोपनीयता सूची बनाए रखने की आवश्यकता होगी। प्रत्येक बार जब उपयोगकर्ता अवरुद्ध/अनब्लॉक होता है तो आपको उस गोपनीयता सूची में परिवर्तन करने की आवश्यकता होगी। अधिक जानकारी के लिए कृपया XEP-0016 देखें। – sandy

+0

@sandy, @ Sunil_Vishnav मैं सरल ब्लॉक करना चाहता हूं और XMPP में उपयोगकर्ता को अनवरोधित करना चाहता हूं कृपया अधिक जानकारी के लिए नीचे दिए गए लिंक को ढूंढें। https: // stackoverflow।कॉम/क्यू/461550 9 5/2 9 10061 धन्यवाद। – ilesh

1

मुझे EJabber सर्वर के साथ कोई अनुभव नहीं है, लेकिन XEP 0191 निश्चित रूप से आवश्यक प्रोटोकॉल है।

आप यहां देख सकते हैं http://www.ejabberd.im/protocols और देखें कि EJabber आपके प्रोटोकॉल का समर्थन करता है।

मेरी सलाह सर्वर को बदलना होगा।

1

वैसे भी एक ब्लॉक म्यूट है। यदि आप किसी व्यक्ति को अवरोधित करते हैं तो वे केवल एक नया अनाम उपयोगकर्ता बना सकते हैं और आपसे फिर से संपर्क करना शुरू कर सकते हैं। हालांकि यह बहुत सारे प्रयासों की तरह प्रतीत हो सकता है, इसे आसानी से स्पैम संदेशों को भेजने के लिए स्क्रिप्ट किया जा सकता है। प्रत्येक 30 मिनट आप एक नया खाता बनाते हैं और सभी को स्पैम करते हैं, लात मारते हैं और दोहराते हैं।

कम से कम आपको XEP-0191 (सर्वर साइड ब्लॉक सूची) को कार्यान्वित करना होगा और यह पता लगाना होगा कि अज्ञात नए खातों से कैसे निपटें।

संबंधित मुद्दे