Firefox의 동일한 출처 정책을 해제해야하는 지역 조사 도구를 개발 중입니다 (스크립트 액세스 측면에서 저는 교차 도메인 요청에 대해 신경 쓰지 않습니다).
특히 호스트 도메인의 스크립트가 도메인에 관계없이 페이지에 포함 된 모든 iframe의 임의 요소에 액세스 할 수 있기를 바랍니다.
CORS FF 확장에 대해 언급 한 이전 Q & A를 알고 있지만 CORS 만 허용하고 스크립트 액세스는 허용하지 않기 때문에 필요하지 않습니다.
쉽게 수행 할 수 없다면 SOP를 비활성화하도록 수정할 수있는 FF src 코드의 특정 부분을 알려주는 통찰력을 통해 FF를 다시 컴파일 할 수 있습니다.
답변
2015 년 3 월 5 일에 출시 된 최신 Firefox ( 빌드 36.0.1 ) 에서 작동하는 모든 HTTP 응답에 CORS 헤더를 추가하는 Firefox 확장 기능이 있습니다. 나는 그것을 테스트했고 Windows 7과 Mavericks 모두에서 작동하고 있습니다. 작동하도록 단계를 안내해 드리겠습니다.
1) 확장 받기
여기 (작성자 빌드) 또는 여기
(미러, 업데이트되지 않을 수 있음 ) 에서 xpi를 다운로드 할 수 있습니다 .
또는 GitHub 에서 파일 을 다운로드하십시오 . 이제 Firefox Marketplace에도 있습니다 . 여기에서 다운로드하세요 . 이 경우 설치를 클릭하면 애드온이 설치되며 4 단계로 건너 뛸 수 있습니다.
xpi를 다운로드 한 경우 3 단계로 이동할 수 있습니다. GitHub에서 zip을 다운로드 한 경우 2 단계로 이동합니다.
2) xpi 빌드
압축을 풀고 “cors-everywhere-firefox-addon-master”폴더로 들어가 모든 항목을 선택하고 압축해야합니다. 그런 다음 생성 된 zip의 이름을 * .xpi로 바꿉니다.
참고 : OS X GUI를 사용하는 경우 일부 숨겨진 파일이 생성 될 수 있으므로 명령 줄을 사용하는 것이 좋습니다.
3) xpi 설치
xpi를 Firefox로 드래그 앤 드롭하거나 “about : addons”로 이동하여 오른쪽 상단 모서리에있는 톱니 바퀴를 클릭하고 “파일에서 추가 기능 설치”를 선택한 다음 .xpi 파일을 선택할 수 있습니다. 이제 firefox를 다시 시작하십시오.
4) 작동시키기
이제 확장 프로그램은 기본적으로 작동하지 않습니다. 확장 아이콘을 확장 표시 줄로 끌어 야하지만 걱정하지 마십시오. 사진이 있습니다!
- Firefox 메뉴를 클릭하십시오
- 사용자 정의를 클릭하십시오.
- CorsE를 막대로 드래그
- 이제 아이콘을 클릭하십시오. 녹색이면 모든 HTTP 응답에 CORS 헤더가 추가됩니다.
5) 작동하는지 테스트
jQuery
$.get( "http://example.com/", function( data ) {
console.log (data);
});
자바 스크립트
xmlhttp=new XMLHttpRequest();
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
console.log(xmlhttp.responseText);
}
}
xmlhttp.open("GET","http://example.com/");
xmlhttp.send();
6) 최종 고려 사항
그 주 HTTPS HTTP에 허용되지 않습니다 .
해결 방법이있을 수 있지만 문제의 범위 뒤에 있습니다.
답변
about:config -> security.fileuri.strict_origin_policy -> false
답변
나는 FF의 동일한 출처 정책을 구체적으로 비활성화하는 방법을 지정하지 않았기 때문에 내 이전 답변이 반대 투표임을 깨달았습니다. 여기에 더 자세한 답변을 드릴 것입니다.
경고 : 이렇게하려면 FF를 다시 컴파일해야하며 새로 컴파일 된 Firefox 버전은 SOP를 다시 활성화 할 수 없습니다 .
Mozilla의 Firefox 소스 코드를 확인하고 src 디렉토리에서 nsScriptSecurityManager.cpp를 찾습니다. 여기에 나열된 것을 예로 사용하겠습니다.
http://mxr.mozilla.org/aviarybranch/source/caps/src/nsScriptSecurityManager.cpp
함수 구현 nsScriptSecurityManager :: CheckSameOriginURI로 이동합니다. 이는 2016 년 3 월 2 일 현재 568 행입니다.
해당 함수가 항상 NS_OK를 반환하도록합니다.
이것은 영원히 SOP를 비활성화합니다.
@Giacomo의 브라우저 애드온 답변은 대부분의 사람들에게 유용해야하며 그 답변을 수락했지만 개인적인 연구 요구 사항 (TL; 여기서 설명하지 않음)으로는 충분하지 않으며 다른 연구원이 무엇을해야할지 생각합니다. 나는 SOP를 완전히 죽이기 위해 여기에 있었다.
답변
Firefox에서이 문제를 극복하기 위해 추가 기능을 작성했습니다 (Chrome, Opera 버전은 곧 출시 될 예정입니다). 최신 Firefox 버전, 아름다운 UI 및 JS 정규식 지원 : https://addons.mozilla.org/en-US/firefox/addon/cross-domain-cors
답변
2016 년 9 월 현재이 애드온은 CORS 를 비활성화하는 가장 좋은 방법입니다 : https://github.com/fredericlb/Force-CORS/releases
옵션 패널에서 삽입 할 헤더와 특정 웹 사이트를 자동으로 활성화하도록 구성 할 수 있습니다.
답변
고르 – 모든 곳에서 ‘해결 : (‘설정에 대해 ‘개방에 의한)> 거짓 – 파이어 폭스 68까지 나를 위해 부가 작품, 68 I 필요 후에는’privacy.file_unique_origin ‘조정 CORS하지 HTTP 요청 새로운 CORS 동일 출처 규칙을’ 도입.
답변
에서 about:config
추가 content.cors.disable
(빈 문자열).