Я бы хотел использовать WebSockets для взаимодействия между процессами для моего приложения (Daemon ↔ WebGUI и Daemon ↔ FatClient и т.д.). Во время тестирования я попытался подключиться к локальному серверу веб-сокетов (ws://localhost: 1234) с помощью клиента JavaScript WebSocket на websocket.org(http://www.websocket.org/echo.html).
Мой вопрос сейчас:
Почему это возможно? Нет ли в браузерах политики перекрестного происхождения (здесь: FF29 в Linux)?
Я спрашиваю, потому что если websocket.org был злым, он мог попытаться связаться с моим локальным WS-сервером и перенаправить каждое сообщение, которое он получает от localhost на любой другой сервер:
Local WebSocket Server Browser Evil Web Server at ws://localhost:1234 at http://evil.tld | | | | |------[GET /]--------->| | |<-----[HTML+EvilJS]----| |<------[connect ws://..]----| | |<----[some communication]-->| | | |----[evil forward]---->| | | |
Я не тестировал весь прецедент, но соединение с ws://localhost из JS, доставленное websocket.org, определенно работает.