2012-05-04 4 views
2

크로스 도메인 아약스 호출을 허용하지 않았지만 왜 크로스 도메인 아약스 호출을 페이스 북 (또는 트위터 등)으로 만들 수 있는지 이해합니다. oauth API?크로스 도메인 AJAX 호출 및 액세스 제어 허용 원점

다음과 관련이 있습니까?

"Access-Control-Allow-Origin: *" 

악의적 인 행위처럼 모든 액세스를 허용합니까? 귀하가 승인 한 사람들 만 허용하는 더 좋은 방법이 있습니까?

감사합니다.

답변

2

Access-Control-Allow-Origin response header field은 요청이 전송 된 서버가 제어 할 수있는 특정 조건에서 XHR로 교차 출처 요청을 허용하는 Cross-Origin Resource Sharing의 일부입니다.

이 경우, Access-Control-Allow-Origin: *은 서버가 모든 출처의 요청을 허용한다는 것을 의미합니다. 이는 기본적으로 리소스가 공개되어 자격 증명을 지원하지 않는다는 것을 의미합니다.

그러나 인증 된 사용자에게만 액세스를 제한하려면 *을 사용할 수 없습니다. 대신 Origin 헤더 필드 값을 반환해야합니다 (section 6.1 참조). 클라이언트가 이미 자격 증명을 가지고 있지만 리소스를 요청하지 않은 경우 클라이언트가 보낼 수있는 정보를 협상하는 preflight requests도 지원해야합니다.

+0

고마워요! 아마 당신의 대답을 완전히 이해하기 전에 당신이 지적한 그 모든 링크를 읽을 필요가있을 것입니다. – kumikoda

+0

@kumikoda 예, CORS를 완전히 이해하는 것은 상당히 복잡합니다. (그리고 내 대답이 정확하길 바랍니다.) – Gumbo

관련 문제