0
我开发了移动平台的聊天应用程序,它使用在我的公共Ubuntu机器中配置的eJabberd xmpp聊天服务器。阻止其他xmpp客户端访问我的ejabberd服务器
为了使我使用的服务器连接https://mydomainname.com:5280/http-bind所以如何保护这只能由我的客户端应用程序访问而不是其他人。
现在我的服务器可以通过像pidgin,adium等任何客户端访问如何阻止这一点。
我开发了移动平台的聊天应用程序,它使用在我的公共Ubuntu机器中配置的eJabberd xmpp聊天服务器。阻止其他xmpp客户端访问我的ejabberd服务器
为了使我使用的服务器连接https://mydomainname.com:5280/http-bind所以如何保护这只能由我的客户端应用程序访问而不是其他人。
现在我的服务器可以通过像pidgin,adium等任何客户端访问如何阻止这一点。
您可以修改ejabberd,使其具有自定义身份验证,该身份验证集成了规范中的变体并在您的客户机中实施。这样,未经修改的标准客户端将无法读取它。
但是,由于您的客户端是Javascript并且代码可见,所以仍然可以修补现有客户端来实现您的变体,但是没有办法解决这个问题。 “共享秘密”的方法意味着如果找到秘密,其他客户可以找到连接的方式。当你的代码是公开的(即使被混淆)时,秘密更难找到。
请你给我一些步骤来修改ejabberd进行自定义验证。 – Jeeva
您应该查看一个现有的ejabberd身份验证模块作为示例。 ejabberd_auth.erl是主调度员。你必须实现一个后端,如:ejabberd_auth_mnesia.erl,ejabberd_auth_external.erl。例如,你可以假设他们是一个额外的客户名称或秘密代码字段(只是一个例子)。 –