2013-10-29 110 views
0

我正在尋找一個良好的XMPP聊天應用程序標準的Web平臺(如eBuddy,Facebook聊天等)我已經搜索了一些用於Web應用程序的XMPP庫,我的選擇去了Strophe .js,因爲它非常簡單和強大。XMPP Strophe.JS應用程序安全問題

但我不確定是否因爲安全問題而開發純Javascript應用程序。現代瀏覽器中的大多數都可以通過檢查Google Chrome這樣的元素功能來查看您的Javascript代碼。我擔心這可能是未來幾天的一個關鍵問題。所有人都可以看到並瞭解您的應用程序邏輯以及您的應用程序在幕後做了什麼。

我的問題是有可能將Strophe.js和服務器端編程(例如PHP,ASP.NET等)結合起來。我的意思是使用Strophe.js作爲Controller-Tier的View-Tier和服務器端編程?

或者是否有可能隱藏您的Javascript代碼,以便用戶無法看到您的應用程序場景背後的細節?

最佳做法是什麼?

在此先感謝:)

回答

1

取決於您的安全問題。

我擔心的是用戶名和密碼公開。我們的web應用是MVC,我構建了一個創建/登錄用戶的類,並將SID,RID和JID傳回到前端(Strophe),然後連接到jabber服務器以開始聊天。有關更多信息,請參見http://xmpp.org/extensions/xep-0206.html。本質上創建xml字符串,發送到jabber服務器並管理響應,如xep 206所示。

+0

您是否結合了應用程序上的所有服務器端編程? 還是純JavaScript? –

+1

是的,在C#中編寫了幾個類來獲取數據庫中的用戶名和密碼,並使用xep 206進程發送到jabber服務器。您必須先啓動,然後驗證,然後重新啓動,綁定並設置會話。我發現我需要宣佈井的存在。這個過程會給你SID和JID。通過創建一個隨機int並每次增加它來創建RID。將這三件物品交給strophe然後附上。看看http://metajack.im/2008/10/03/getting-attached-to-strophe/。它在django中,但給你一個很好的視覺過程。 –

+0

您是否使用任何XMPP-C#庫進行用戶身份驗證,或者您是否手動執行此操作?你正在用C#開發asp.net,對嗎? –