2012-07-26 62 views
0

我在Node.js中用now.js做了一些聊天應用程序。現在我想起了一些事情。 有兩個文件:server.js和client.js,每個人都可以竊取client.js文件並在另一個主機上運行它以獲得我的server.js工作的好處。我怎樣才能防止它?Now.js和secure

這是關於client.js與主機的域名和端口連接:

window.now = nowInitialize("http://address.com:6564"); 

如何使它更安全,例如,僅客戶端(js文件)從我的主機(address.com)可以連接與我的主人。

+1

看看這個問題:http://stackoverflow.com/questions/8618448/enhancing-security-in-a-now-js-socket-io-chat – 2012-07-26 09:07:49

+0

這是關於XSS攻擊。我詢問有人可以複製我的客戶並將其用作他自己的客戶。而服務器不知道它。 – ElSajko 2012-07-26 09:12:40

回答

0

請問你的用戶得到鑑別的爲你聊聊嗎?有沒有註冊或任何東西?

也許令牌或安全密鑰會這樣做?或者一個安全的cookie(對不起,但至少對用戶不可見)與該令牌?沒有令牌,你無法訪問你的服務?

3

如果您關注的是,其他服務器可以使用服務器與客戶端代碼: 這不應該是因爲Same Origin Policy的問題。只有當您的服務器明確允許時,其他主機的客戶端才能夠與其通信。

只需從一個不同的域名(甚至本地主機)中嘗試一下:你會看到你的瀏覽器不會讓你做出跨域請求。

(舉個例子,你可以看到this StackOverflow post是用戶沒能Socket.IO工作在不同的主機/後組合)。

UPDATE

它的工作是這樣的:

enter image description here

+0

但CORS如何與客戶端文件一起工作?我不清楚這... – nembleton 2012-07-27 01:07:41

+0

我添加了一張圖片來闡明CORS如何工作。 – 2012-07-27 10:47:36

+0

啊是的。對。謝謝。如果複製到另一個域,我不清楚如何檢查客戶端的來源。但實際上瀏覽器會自動發送它,並檢查網絡服務器的「OPTION」請求是否允許。是的,我相信這會起作用......我多次使用CORS,但依然依賴於客戶端瀏覽器的信任,仍然覺得有點不安全。但是,在日常生活中,這是一個好的和安全的技術。 – nembleton 2012-07-29 04:55:43