2011-09-30 4 views

답변

2

악의적 인 사용자/프로그램이이 웹 소켓에 연결할 수 있으며 이에 대해 수행 할 수있는 작업은 없습니다 (기사의 기간 끝). 그러나 웹 소켓에 대한 동일한 출처 정책은 XHR과 매우 유사해야합니다. 명시 적으로 허용하지 않는 한 다른 도메인의 JavaScript는 도메인의 WebSocket에 액세스 할 수 없습니다. 즉, 누군가 콘텐츠를 재배포 할 경우 크로스 도메인 프록시를 사용해야합니다.

+0

"다른 도메인의 JavaScript가 도메인의 WebSocket에 액세스 할 수 없습니다." - 이것은 사실 가능합니다. 'Sec-WebSocket-Origin' 헤더 값을 확인하기 만하면됩니다. – pimvdb

+0

@pimvdb 정확하게 두 점 모두에 대한 규칙은 거의 동일합니다. XHR에서는'Access-Control-Allow-Origin : *'헤더를 사용합니다. – rook

+1

명확히 말하면, 정상적으로 작동하고 정상적으로 작동하는 브라우저에서 실행되는 Javascript는 페이지가로드 된 원본 사이트의 값을 보유하는 Sec-WebSocket-Origin의 값에 영향을 줄 수 없습니다 (서버가 특정 시작 지점 만 허용하도록 허용). 그러나 Javascript가 Node.js에서 WebSocket 클라이언트로 실행되고 있다면 원점 값을 원하는 값으로 설정할 수 있습니다. CORS 보안은 서버가 아닌 브라우저 사용자의 안전을위한 것입니다. 서버를 보호하려면 다른 메커니즘이 필요합니다. – kanaka

관련 문제