2011-09-16 7 views
10

मुझे आश्चर्य है कि मैं सर्वर से अपने सॉकेट.ओ कनेक्शन को कैसे सुरक्षित कर सकता हूं।सॉकेट.ओ सुरक्षा मुद्दे

सुरक्षा की समस्याएं:

  • क्या क्लाइंट साइड कोड के माध्यम से सॉकेट सर्वर से कनेक्ट होने से दुर्भावनापूर्ण उपयोगकर्ताओं बंद कर देंगे?

उदाहरण:

OUTSIDE DOMAIN REQUEST var socket = io.connect('http://Mydomain', {port: 4000}); 
  • उपयोगकर्ता असल में सिर्फ एक अलग ब्राउज़र विंडो खोलने के द्वारा समवर्ती कनेक्शन के हजारों बना सकते हैं।

मैं इन मुद्दों को कैसे रोक सकता हूं?

+0

रूप और उपयोगकर्ता के पते (आईपी) का निरीक्षण किया और socket.handshake या वैश्विक प्राधिकरण –

उत्तर

5

आपको सर्वरसाइड जांचने में सक्षम होना चाहिए कि HTTP रेफरर सही है। Http संदर्भ और साथ ही हैंडशेकिंग दोनों की जानकारी के लिए socket.io spec देखें।

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

इसके अलावा 0.8 रेफरर सत्यापन है। Havent बाद ही उपयोग किया है, लेकिन इस के लिए देख शुरू करने के लिए एक जगह हो सकता है: https://github.com/LearnBoost/socket.io/wiki/Authorizing पर

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

+0

के माध्यम से हेडर अनुरोध धन्यवाद, लेकिन यदि एक ही उपयोगकर्ता से कई कनेक्शन हैं तो क्या होगा? – Trevor

0

ठीक है, अगर आपके (असली) ग्राहक अच्छी तरह से जानते हुए स्थान से आ रहे हैं, तो आप शायद फ़ायरवॉल स्तर पर सभी को अवरुद्ध करना चाहते हैं। मान लीजिए कि आपकी सेवा हर किसी के लिए उपलब्ध है, आप शायद क्लाइंट-सर्वर हैंडशेक तंत्र में देख सकते हैं।

संबंधित मुद्दे