2013-05-05 29 views
7

Để thực hiện chức năng trò chuyện trong ứng dụng của tôi, tôi đã tích hợp khung công tác XMPP vào đó. Không có chức năng yêu cầu buddy do đó người dùng có thể gửi tin nhắn cho người dùng khác mà không cần gửi một yêu cầu kết bạn. Do chức năng này, tôi chưa tạo bất kỳ danh sách Roster hoặc Bảo mật nào trong ứng dụng và chế độ trò chuyện ẩn danh đã được triển khai.Cách chặn người dùng ẩn danh trong XMPP

Mọi thứ hoạt động tốt trừ chức năng chặn người dùng vì đây là cuộc trò chuyện ẩn danh của người dùng do đó không có danh sách bảo mật cho người dùng và tiện ích mở rộng XMPP XEP-016 chỉ hỗ trợ chặn thông qua danh sách bảo mật.

Tôi cũng đã cố gắng tìm kiếm các giải pháp thay thế và một trong số đó là triển khai XEP-0191 nhưng tiếc là Open Fire không hỗ trợ tiện ích mở rộng này.

Vì vậy, các chuyên viên kỹ thuật vui lòng hướng dẫn tôi khắc phục vấn đề này. Sau đây là câu hỏi của tôi.

  1. Tôi có cần tạo danh sách/danh sách bảo mật để chặn người dùng trong chế độ trò chuyện ẩn danh của người dùng không. Giải pháp này có vẻ không thực tế vì ứng dụng của tôi có thể có hàng nghìn người dùng.

  2. Tôi có nên thay đổi máy chủ Jabber từ lửa mở thành EJabber không? Ejabber có hỗ trợ XEP-0191

Ngoài ra, hãy cho chúng tôi biết nếu bạn biết cách chặn/bỏ chặn người dùng khác trong chế độ trò chuyện ẩn danh trong Jabber.

Trả lời

0

Thật không may tôi phải gắn bó với máy chủ Fire mở. Để khắc phục sự cố khối người dùng, tôi phải xem qua tài liệu của XMPP và cuối cùng tìm thấy giải pháp trong XEP-0016, phần mở rộng này thực sự có khả năng hỗ trợ chặn người dùng ẩn danh. Để thực hiện việc này, bạn phải tạo danh sách riêng tư trên máy chủ bằng phương thức - (void)setListWithName:(NSString *)privacyListName items:(NSArray *)items fromUser:(NSString *)user;. Sau khi thực hiện đánh dấu danh sách được tạo ra dưới dạng Active list bằng cách gọi phương thức - (void)setActiveListName:(NSString *)privacyListName;.

XEP-0016 không liên quan gì đến Roster và có thể chặn trò chuyện ẩn danh của người dùng.

+0

Tôi đã làm ứng dụng tương tự như ứng dụng của bạn và tôi không thể chặn người dùng ẩn danh. Bạn có thể vui lòng chia sẻ chính xác bạn đã đạt được chức năng này không. Tôi đang sử dụng xmpp với máy chủ ejabber. –

+0

@Sunil_Vaishnav bạn sẽ cần duy trì danh sách bảo mật của người dùng bị chặn trên máy chủ jabber. Mỗi lần người dùng bị chặn/bỏ chặn, bạn sẽ cần thực hiện các thay đổi trong danh sách bảo mật đó. Vui lòng tham khảo XEP-0016 để biết thêm thông tin. – sandy

+0

@sandy, @ Sunil_Vaishnav Tôi muốn chặn đơn giản và bỏ chặn người dùng trong XMPP Vui lòng tìm liên kết bên dưới để biết thêm thông tin. https: // stackoverflow.com/q/46155095/2910061 Cảm ơn. – ilesh

1

Tôi không có kinh nghiệm với máy chủ EJabber, nhưng XEP 0191 chắc chắn là giao thức bạn cần.

Bạn có thể xem tại đây http://www.ejabberd.im/protocols và thấy rằng EJabber hỗ trợ giao thức của bạn.

Lời khuyên của tôi sẽ là thay đổi máy chủ.

1

Một khối là tranh luận. Nếu bạn chặn một người, họ chỉ có thể tạo người dùng ẩn danh mới và bắt đầu liên hệ lại với bạn. Trong khi điều này có vẻ như rất nhiều nỗ lực nó có thể dễ dàng được kịch bản để gửi tin nhắn rác. Mỗi 30 phút bạn tạo một tài khoản mới và spam tất cả mọi người, bị đá và lặp lại.

Ít nhất bạn sẽ phải triển khai XEP-0191 (danh sách chặn phía máy chủ) và tìm hiểu cách xử lý các tài khoản mới ẩn danh.

Các vấn đề liên quan