Festlegen von socket.io-Ursprüngen zum Einschränken von Verbindungen auf eine URL

9

Wir haben eine html-Site und einen node.js-Server, der diese Website bedient. Die Website und der Server tauschen Daten mit socke.io aus. Das haben wir in der Dokumentation gefunden:

Ursprüngliche Standardeinstellungen sind *:*      Die Ursprünge, die eine Verbindung zum Socket.IO-Server herstellen dürfen.

Unsere html.site ist auf http://questionexample.com/page1 . Nur diese Website darf eine Verbindung zu unserem Server herstellen. (Jeder kann sich jedoch mit dieser Website verbinden.) Wie müssen wir die Ursprünge festlegen?

    
Michael Moeller 02.04.2013, 18:39
quelle

3 Antworten

25

Wenn Sie den Quellcode von Socket.io kennen lernen, finden Sie folgende Zeilen:

%Vor%

Wie Sie sehen, Socket.io nimmt Herkunft (oder Referer), die von dem Client kam, ruft Domain-Namen und Port, und vergleicht mit der von Ihnen angegebenen Option origins .

Die gültigen origins -Werte sind also ( * bedeutet "beliebig"):

  • testsite.com:80
  • http://testsite.com:80
  • http://*:8080
  • *:8080
  • testsite.com:* http://someotherdomain.com:8080 (mehrere Ursprünge getrennt durch Leerzeichen)
  • testsite.com:*/somepath (socket.io ignoriert / somepath)
  • *:*

Und diese sind ungültig (weil keine Portnummer):

  • testsite.com
  • http://testsite.com
  • http://testsite.com/somepath

Beachten Sie auch, dass sub.testsite.com als Ursprungswert angegeben wird und testsite.com daher gültig ist.

    
Curious 11.02.2014 19:29
quelle
8

Ich hatte ein ähnliches Problem. Versuchen Sie, den Knoten im Produktionsmodus NODE_ENV=production node app.js auszuführen. Ich hatte diesen Code ( wie hier empfohlen ):

%Vor%

und Knoten rans im Entwicklungsmodus, so dass es einfach nicht funktionieren konnte. Nach dem Aktivieren des Produktionsmodus ist alles in Ordnung.

Ich weiß, dass es eine späte Antwort ist, aber vielleicht wird jemand anderes das benutzen

    
Rob 10.05.2013 14:00
quelle
-1

Ich denke io.set('origins', http://questionexample.com/page1) sollte es tun

    
csicar 02.04.2013 19:17
quelle

Tags und Links