2014-09-26 4 views
0

CORS로 보호 된 리소스 대 "원본"이없는 요청이 특정 fqdn으로 설정된 Access-Control-Allow-Origin이 올바른 200 응답을 수신하는 것이 맞습니까?원본없이 CORS 요청이 허용됩니까?

Origin이 허용 된 것과 다른 fqdn으로 설정된 경우와 같이 완벽하게 작동하는 동안 오류가 발생할 것으로 예상하고있었습니다.

+2

당신이 원산지 헤더를 보내지 웹 브라우저를 관찰하고 있습니까 CORS 보호에 의해 차단되지 않습니다? CORS는 브라우저에 의해 시행됩니다. 서버는 Origin 헤더에주의를 기울이거나 집중하지 않을 수 있습니다. – AgentME

+0

아니요 브라우저에서 CORS로 보호되는 리소스에 직접 요청하고 있습니다. 헤더에 Origin을 지정하면 차단되지만, Origin을 지정하지 않으면 작동합니다. 이것이 맞는지 아닌지 궁금합니다. . –

+2

CORS AJAX 요청에서 Origin 헤더를 무시할 수 없습니다 (서버가 Access-Control-Allow-Headers에서 Origin을 지정하는 경우가 이상하고 보안 구멍 일 수 있음). Origin 헤더는 CORS 요청에 대한 브라우저에 의해 자동으로 설정됩니다. 이것이 귀하의 질문과 관련이 없다면 코드 예제를 포함 시키십시오. 그 이유는 무엇이 진행되고 있는지 명확하지 않기 때문입니다. – AgentME

답변

0

CORS 보호는 자격 증명을 사용하여 한 웹 사이트가 다른 웹 사이트에서 활동을 시작하지 못하도록 설계되었습니다. A.com의 스크립트로 AJAX 요청을 통해 B.com에 데이터를 게시합니다.

사이트가 다른 도메인 *에 대한 요청을 트리거하는 경우 Origin 헤더가 브라우저에 의해 자동으로 설정되며 재정의 할 수 없습니다. 두 번째 사이트의 'Access-Control-Allow-Origin'헤더와 비교하여 확인합니다.

브라우저에서 B.com에 직접 액세스하는 경우 동일한 사이트에 있기 때문에 Origin이 비어있게됩니다. CORS는 관련이 없습니다. Origin 헤더를 수동으로 설정하면 제한 동작을 모방하지만 CORS가 사용자를 보호하도록 설계된 일반적인 시나리오는 아닙니다. 요청의

* 특정 유형 (로딩 이미지 나 스크립트 등)

관련 문제