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。例如,你可以假設他們是一個額外的客戶名稱或祕密代碼字段(只是一個例子)。 –