2014-09-11 178 views
1

我是Node.js和Socket.IO的新手。據documentation客戶端代碼是一樣的東西:Socket.IO客戶端安全

<script src="/socket.io/socket.io.js"></script> 
<script> 
    var socket = io('http://localhost:3000'); 
    socket.on('news', function (data) { 
    console.log(data); 
    socket.emit('my other event', { my: 'data' }); 
    }); 
</script> 

它的簡單和容易的,但雖然它的本地測試完全沒有問題,我不知道是否是活頁上的真正安全,因爲它提供直接鏈接和事件信息爲服務器。

我應該將客戶端更改爲其他內容(或者以某種方式將其隱藏起來嗎?),還是很適合現場直播?

回答

2

是的,它確實是危險的,並沒有保證!

但是,有一些事情是你可以做,以提高您Socket.io的安全

  1. 使用HTTPS連接,這將防止任何人偷聽您的插座連接
  2. 之前,請務必驗證您的用戶建立與客戶端的套接字連接

下面的鏈接是一個很好的例子,你如何認證使用JSON網絡令牌

您Socket.io連接

https://auth0.com/blog/2014/01/15/auth-with-socket-io/

如果您使用的是基於會話的認證,您可以實現similiar架構

你也可以做模糊處理,您可以用這些縮小,使你的代碼醜陋和頑固派的攻擊者可以跟蹤它,但如果您在建立連接之前已經實施了身份驗證,則應該足夠安全以展示您的網址!