상세 컨텐츠

본문 제목

blocked by CORS policy Access-Control-Allow-Origin 서로다른 도메인에서 ajax 크로스도메인 호출문제 해결하기

IT공부방/PHP

by 동해둘리 2019. 12. 9. 17:49

본문

반응형

서로다른 서버, 서로다른 도메인에서 한쪽 서버의 문서를 ajax 로 호출하여 값을 얻고자 할때, 다음과 같은 오류메시지를 나타내는 경우가 있습니다

 

blocked by CORS policy Access-Control-Allow-Origin

 

이는 자바스크립트(Javascript) 의 보안 정책 중 하나인, 동일 근원 정책(Same-Origin Policy) 에 위반되기 때문입니다. 만약 이것이 무제한적으로 허용이 된다면, 타인 서버의 문서를 마음대로 호출할 수 있게 되기 때문에 막아주는 것이 상식적이긴 합니다.

 

ajax 크로스도메인

 

 

이를 해결하기 위한 여러가지 방법이 있습니다만, 가장 쉽게 해결 할 수 있는 방법은 호출되는 페이지의 상단에 헤더정보를 넣어주면 됩니다. 아래코드는 PHP의 경우입니다. 

 

 

1
2
3
4
5
6
7
<?
 
header('Access-Control-Allow-Origin: *');
 
 
?>
 
cs

 

위 코드의 Access-Control-Allow-Origin 은 웹서버의 세팅인자 이기도 한데요, 윈도우 서버나 리눅스 서버의 설정파일에서 Access-Control-Allow-Origin을 * 로설정하게되면 해당서버의 모든 파일을 오픈한다는 게 되고, 위와 같이 특정 파일에만 넣어주면 해당 문서만 공개되게 됩니다.

 

공공기관에서 공개하는 API 문서등이 이와 같은 방법으로 공개된다고 보시면 됩니다. 

 

 

반응형

관련글 더보기

댓글 영역