Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ionic-framework/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Erlang 安全-Ejabberd-验证客户端_Erlang_Xmpp_Ejabberd_Quickblox - Fatal编程技术网

Erlang 安全-Ejabberd-验证客户端

Erlang 安全-Ejabberd-验证客户端,erlang,xmpp,ejabberd,quickblox,Erlang,Xmpp,Ejabberd,Quickblox,我已经在我们的AWS服务器上安装了Ejabberd 我们正在开发一个iOS messenger应用程序,我们不希望其他客户端访问iOS应用程序以外的消息服务器 所有ejabberd服务只能通过我们的iOS应用程序访问 登记 登入 发送消息并使用任何其他服务 要保护我们的服务器,我应该做哪些配置和设置?没有100%的方法禁止其他客户端模仿您自己的客户端。您可以使用不同的协议,或一层以上的加密或特殊标记,允许您的服务器使用以确保客户端是您的。但是,如果有人想要编写自己的客户端,他将使用您自己的客户端

我已经在我们的AWS服务器上安装了Ejabberd

我们正在开发一个iOS messenger应用程序,我们不希望其他客户端访问iOS应用程序以外的消息服务器

所有ejabberd服务只能通过我们的iOS应用程序访问

  • 登记
  • 登入
  • 发送消息并使用任何其他服务

  • 要保护我们的服务器,我应该做哪些配置和设置?

    没有100%的方法禁止其他客户端模仿您自己的客户端。您可以使用不同的协议,或一层以上的加密或特殊标记,允许您的服务器使用以确保客户端是您的。但是,如果有人想要编写自己的客户端,他将使用您自己的客户端来理解应该在线路上发送什么。

    XMPP构建在TCP之上,因此没有好的方法限制对服务器套接字的访问。如果你想遵守XMPP,你需要使用加密,否则使用你自己的自定义协议(如Skype)。

    你能简要介绍一下或给我一些关于“一层加密”和“特殊标记”的有用链接吗?你可以让你的客户在协商流时提供特殊值,例如内部版本号。服务器知道允许哪些内部版本号连接到它,例如,使用哪个加密密钥对数据进行加密或签名。当数据到达时,服务器解密或检查该数据是否已正确签名,并了解客户端是真实的。这种方式使标准客户端无法与服务器一起运行。如果你让外星人客户端模仿你的,只需在新客户端中更新该密钥,让用户从旧客户端更新,并禁止旧版本。但这并不容易。太好了,我应该在哪里验证签名的数据,我的意思是我可以在哪里读取它们?我应该知道Erlang才能做到这一点,还是可以用php实现?