Ajax 이용시 로컬 파일이 CORS 에러가 되었을 때의 대응
발생한 경위
초보의 초보로 입문편의 참고서를 보면서 공부하고 있어,
Ajax에서 로컬 파일을 호출하려고했지만 CORS 정책 오류로 인해 실패했습니다.
전제
오류 내용
Ajax를 실행 한 결과 다음과 같은 오류가 발생했습니다.
'[ファイル名]' from origin 'null' has been bloc
ked by CORS policy: Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https
CORS policy ???
너무 짜증나는 CORS policy
CORS란?
Cross-Origin Resource Sharing(오리진 간 리소스 공유)
오리진의 구성 요소는 체계, 호스트, 포트.
예를 들면
① http://qiita.com/users?char=A
② http://qiita.com/users?char=B
③ http://qiita.com/users?char=C:80
④ http://qiita.com/users?char=D:8080
①~③은 스킴(http), 호스트(qiita.com), 포트(:80)가 동일(80번 포트는 기본)이므로 동일 오리진이라고 할 수 있다.
④는 포트가 다르기 때문에 다른 오리진.
CORS policy란?
CORS policy (동일한 오리진 정책)
한마디로 보안을 위해 같은 오리진에서 밖에 취득하지 않는다는 제약.
이번에는 크롬에서 로컬 파일 서버에 액세스하려고했기 때문에이 제약에 걸렸다.
대응 방법
여러가지 있지만 가장 간단(소스에의 가필등이 불필요)인 것은 브라우저 기동시에 CORS를 허가해 버리는 것.
즉, 다른 오리진으로부터도 액세스 할 수 있도록 해 버리는 것.
chrome 종료 (not 닫기)
다음 명령을 터미널 등에서 실행합니다.
open -a Google\ Chrome --args -allow-file-access-from-files
브라우저 위쪽에 경고문이 나온다.
그래서 Ajax에서 로컬 파일을 부르면 ... 부를 수 있습니다! !
주의점
즉, 다른 오리진으로부터도 액세스 할 수 있도록 해 버리는 것.
이번은 로컬로 닫은 이야기입니다만 외부로부터의 액세스를 허가해 버리고 있기 때문에 시큐러티는 가바가바입니다.
타인의 PC나 공유 PC 사용 시에는 주의가 필요합니다.
물론 사용 PC에서 조금 공부하고 있다는 사람도 요주의입니다.
우리 초보의 인간에게는 모르는 위협이 죄송합니다.
자세한 사람에게 물어봅시다.
그리고 자신의 지식도 늘려 버립니다.
자세한 내용을 알고 싶은 분은
크롬이 아니라 모질라 사이트 (이것은 이해하기 쉽다)
htps : //로 ゔぇぺぺr. 모잖아. 오 rg / 그럼 / cs / u b / Ht tP / RS
Reference
이 문제에 관하여(Ajax 이용시 로컬 파일이 CORS 에러가 되었을 때의 대응), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/komatsuuuuuna/items/3e0da2777ce18725fa54
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
① http://qiita.com/users?char=A
② http://qiita.com/users?char=B
③ http://qiita.com/users?char=C:80
④ http://qiita.com/users?char=D:8080
open -a Google\ Chrome --args -allow-file-access-from-files
크롬이 아니라 모질라 사이트 (이것은 이해하기 쉽다)
htps : //로 ゔぇぺぺr. 모잖아. 오 rg / 그럼 / cs / u b / Ht tP / RS
Reference
이 문제에 관하여(Ajax 이용시 로컬 파일이 CORS 에러가 되었을 때의 대응), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/komatsuuuuuna/items/3e0da2777ce18725fa54텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)