मैं अपने आवेदन (Daemon <-> WebGUI और Daemon <-> FatClient, आदि) के लिए अंतर-प्रक्रिया संचार के लिए WebSockets का उपयोग करना चाहूंगा। परीक्षण के दौरान, मैंने websocket.org ( http://www.websocket.org/echo.html ) पर जावास्क्रिप्ट वेबस्केट क्लाइंट के माध्यम से अपने स्थानीय रूप से चलने वाले वेब सॉकेट सर्वर (ws: // localhost: 1234) से जुड़ने का प्रयास किया ।
मेरा सवाल अब यह है:
यह क्यों संभव है? क्या ब्राउज़रों में कोई क्रॉस-ओरिजिन पॉलिसी लागू नहीं है (यहाँ: लिनक्स पर FF29)?
मैं पूछ रहा हूं क्योंकि अगर websocket.org बुराई थी, तो यह मेरे स्थानीय WS सर्वर के साथ संवाद करने की कोशिश कर सकता है और स्थानीयहोस्ट से प्राप्त किसी भी संदेश को किसी अन्य सर्वर पर पुनर्निर्देशित कर सकता है:
स्थानीय वेबसॉकेट सर्वर ब्राउज़र ईविल वेब सर्वर at ws: // localhost: 1234 at http: //evil.tld | | | | | ------ [GET /] ---------> | | | <----- [HTML + EvilJS] ---- | | <------ [Connect ws: // ..] ---- | | | <---- [कुछ संचार] -> | | | | ---- [दुष्ट आगे] ----> | | | |
मैंने पूरे उपयोग के मामले का परीक्षण नहीं किया है, लेकिन कनेक्ट करने के लिए ws: // localhost JS से दिया गया है जो websocket.org द्वारा दिया गया है निश्चित रूप से काम करता है।