Я играл вокруг с гориллой-WebSocket в Go, и как я реализовал основные эхо-пример, я зарегистрировал ошибку после развертывания сервераUpdate: Отправить заголовок происхождения с Js WebSockets
Origin не найден WebSocket версия! = 13
я нашел способ обойти это, делая функцию, которая проверяет происхождение всегда возвращает истину
var wsUpgrader = websocket.Upgrader{
ReadBufferSize: 1024,
WriteBufferSize: 1024,
CheckOrigin: func(r *http.Request) bool {
return true
},
}
Но это не так. Поэтому я ищу способ исправить эту проблему.
Update: После того, как другой взгляд на проблему, кажется, что я на самом деле хотите добавить заголовок происхождения для реализации клиента, который является реализация JavaScript WebSocket
@benjic Im, подключающихся к WebSocket через Приложение javascript html5, которое не размещено на одном сервере, но выполняется локально мной через chrome
Так как это сделать.
Проверьте заголовок Origin запроса на подтверждение соединения WebSocket на сервере, поскольку этот заголовок был разработан для защиты сервера от инициированных злоумышленниками межсайтовых подключений браузеров-жертв! Используйте сеансовые индивидуальные случайные токены (например, CSRF-токены) в запросе квитирования и проверяйте их на сервере. Это цитата из блога безопасности websocket, который я читал. И поэтому пустая функция CheckOrigin не вызывает никаких уязвимостей системы безопасности ? @CodingPickle – Whiteclaws
@Whiteclaws Если вы хотите использовать функцию CheckOrigin по умолчанию, вам необходимо убедиться, что ваша клиентская библиотека включает заголовок Origin с его запросом. Если вы обновите вопрос, чтобы включить свою архитектуру, я могу обновить свой ответ, чтобы отразить обновление. –