2011-09-16 14 views
10

mi chiedo come ho potuto proteggere la mia connessione socket.io al server da esimo seguente.Socket.io Problemi di sicurezza

Problemi di sicurezza:

  • quello che sarebbe smettere di utenti malintenzionati di connettersi al server socket tramite il codice lato client?

Esempio:

OUTSIDE DOMAIN REQUEST var socket = io.connect('http://Mydomain', {port: 4000}); 
  • Gli utenti possono apparentemente creare migliaia di connessioni simultanee semplicemente aprendo una finestra del browser.

Come posso evitare questi problemi?

+0

sguardo https://github.com/LearnBoost/socket.io/wiki/Authorizing e controllare l'indirizzo dell'utente (IP) e intestazione di richiesta tramite socket.handshake o globale autorizzare –

risposta

5

Si dovrebbe essere in grado di controllare serverside che il referrer HTTP è corretta. Controlla le specifiche di socket.io per informazioni su entrambi i riferimenti http e handshaking.

https://github.com/socketio/socket.io-protocol

anche 0,8 ha verifica provenienza. Havent usato prima, ma questo può essere un posto per iniziare la ricerca:

https://github.com/LearnBoost/socket.io/pull/481

+0

Grazie, ma cosa succede se ci sono connessioni multiple dallo stesso utente? – Trevor

0

Beh, se i (veri) i clienti vengono da un luogo ben sapere, che vorreste probabilmente per bloccare tutti gli altri al livello del firewall. Assumendo che il servizio è a disposizione di tutti, si può probabilmente guardare in meccanismo di handshake client-server.

Problemi correlati