보안기능이 꺼진 크롬(Chrome) 브라우저를
이용하면, CORS에러를 일부 회피할 수 있다.
CMD를 이용하여,
보안기능이 꺼진 크롬을 실행시켜보자
[ 명령어 ]
[ 실행방법 ]
크롬 바로가기 아이콘을 통해서
chrome.exe가 존재하는 폴더를 연다.
폴더 상단 영역의 주소창 부분에,
cmd를 입력하고 enter를 누른다.
명령어를 붙여넣고 enter를 누른다.
보안기능이 꺼진 크롬이 실행된다.
해당 크롬은, 작업표시줄에서
일반 Chrome 아이콘과 별개로 표시되며,
바탕화면에
해당 크롬의 데이터가 저장되는 폴더가 생성된다.
[ 기타 실험 ]
위 방법을 바탕으로 Chrome브라우저를
실행시키면, 3가지 케이스가 나타날 수 있다.
케이스1
일반적인 크롬 브라우저(chrome.exe) 실행
케이스2
데이터를 저장할 폴더없이
보안기능이 해제된 chrome.exe가 실행된 경우
(같은 작업표시줄 영역에서 열림)
케이스3
명령어를 정상적으로 실행해서
데이터 폴더가 존재하는 상태로
보안기능이 해제된 chrome.exe가 실행된 경우
3가지 케이스 중에서, 2번째 것에 주목해보자.
--user-data-dir에 잘못된 경로가 입력되거나
혹은 해당 매개변수를 입력하지 않는 경우
케이스 2번과 같이 동작하게 된다.
a태그의 download 속성은, cors에러에 의해
일반적인 chrome.exe에서는
(* localhost나 같은 도메인이 아닐때)
정상적으로 동작하지 못하는데
이를 이용하여 테스트 해봤다.
결과는...
케이스1과 같이 실행된 chrome.exe가
먼저 존재하는 경우,
케이스2에 의해 실행된 chrome.exe는
케이스1을 따라가게 된다.
(a태그의 download가 동작하지않고,
href에 의해 페이지가 이동됨)
* 케이스2가 먼저 동작하는 상태에서
케이스1을 실행한다면?
케이스1이 케이스2를 따라가서
케이스1에서도 a태그의 download가 동작한다.
실행된 chrome.exe가 없는 경우,
보안기능이 꺼진 상태로 동작했다.
(a태그의 download 속성에 의해
파일이 다운로드 됨)
* 아예 user-data-dir를 입력하지 않으면,
케이스1과 같이 동작한다.
** 이런 문제가 발생하지 않으려면,
user-data-dir가 정상적으로 동작하는
케이스3와 같이 실행되어야 하는 것이다.
[ 참고자료 ]
댓글