2016-08-02 5 views
0

Я разработал приложение чата для мобильной платформы, в котором используется чат-сервер eJabberd xmpp, настроенный на моем общедоступном компьютере Ubuntu.Заблокировать другого клиента xmpp от доступа к моему серверу ejabberd

Чтобы сделать подключение к серверу, я использовал https://mydomainname.com:5280/http-bind так, как защитить это доступ только моим клиентским приложением, а не другими.

Теперь мой сервер доступен любому клиенту, например, pidgin, adium и т. Д. Как заблокировать это.

ответ

1

Вы можете изменить ejabberd, чтобы иметь пользовательскую аутентификацию, которая интегрирует вариацию из спецификации и реализует ее на вашем клиенте. Таким образом, немодифицированный стандартный клиент не сможет его прочитать.

Однако, поскольку ваш клиент Javascript и код видны, все равно можно будет исправить существующий клиент для реализации вашего варианта, но этого не происходит. Подход «общего секрета» означает, что если секрет обнаружен, другие клиенты могут найти способ подключения. Секрет еще менее сложно найти, когда ваш код является общедоступным (даже если он запутан).

+0

Не могли бы вы дать мне несколько шагов, чтобы изменить ejabberd для пользовательской аутентификации. – Jeeva

+0

В качестве примера вы должны посмотреть один из существующих модулей аутентификации ejabberd. Главным диспетчером является ejabberd_auth.erl. Вы должны реализовать бэкэнд, например: ejabberd_auth_mnesia.erl, ejabberd_auth_external.erl. Например, вы бы предположили, что это будет дополнительное поле с именем клиента или секретным кодом (просто пример). –

 Смежные вопросы

  • Нет связанных вопросов^_^