【问题标题】:Block other xmpp client from accessing my ejabberd server阻止其他 xmpp 客户端访问我的 ejabberd 服务器
【发布时间】:2016-12-07 10:19:21
【问题描述】:

我为移动平台开发了聊天应用程序,它使用在我的公共 Ubuntu 机器中配置的 eJabberd xmpp 聊天服务器。

为了建立服务器连接,我使用了 https://mydomainname.com:5280/http-bind 那么如何保护它只能由我的客户端应用程序访问,而不是其他人访问。

现在任何客户端(如 pidgin、adium 等)都可以访问我的服务器。如何阻止它。

【问题讨论】:

    标签: xmpp chat ejabberd


    【解决方案1】:

    您可以修改 ejabberd 以具有自定义身份验证,该身份验证集成了规范的变体并在您的客户端中实施。这样,未经修改的标准客户端将无法读取它。

    但是,由于您的客户端是 Javascript 并且代码是可见的,因此仍然可以修补现有客户端以实现您的变体,但没有办法解决这个问题。 “共享秘密”的方式意味着如果找到秘密,其他客户端可以找到连接的方式。当你的代码是公开的(即使被混淆了)时,这个秘密就更不容易被发现了。

    【讨论】:

    • 能否请您给我一些修改 ejabberd 以进行自定义身份验证的步骤。
    • 您应该以现有的 ejabberd 身份验证模块之一为例。 ejabberd_auth.erl 是主要的调度程序。您必须实现一个后端,例如:ejabberd_auth_mnesia.erl、ejabberd_auth_external.erl。例如,您必须假设他们将是一个带有客户名称或密码的额外字段(只是一个示例)。
    猜你喜欢
    • 2012-04-06
    • 1970-01-01
    • 1970-01-01
    • 2015-01-26
    • 2015-09-10
    • 2013-07-09
    • 1970-01-01
    • 1970-01-01
    • 2013-10-21
    相关资源
    最近更新 更多