peter.sh
페이지에 연결 되므로 합법적이어야합니다.
--disable-web-security --user-data-dir
peter.sh
페이지에 연결 되므로 합법적이어야합니다.
--disable-web-security --user-data-dir
답변:
크롬 (또는 크롬)을 닫고 --disable-web-security
인수로 다시 시작하십시오 . 방금 이것을 테스트하고 "localhost"(크롬 5 / 우분투에서 테스트)에서 제공되는 페이지에 src = "http://google.com"이 포함 된 iframe의 내용에 액세스 할 수 있는지 확인했습니다. 나를 위해 정확한 명령은 다음과 같습니다.
참고 : 명령을 실행하기 전에 모든 크롬 인스턴스를 종료하십시오.
chromium-browser --disable-web-security --user-data-dir="[some directory here]"
브라우저가 처음 열릴 때 "지원되지 않는 명령 줄을 사용하고 있습니다"라는 경고 메시지를 표시합니다.
크롬 소스에서 :
// Don't enforce the same-origin policy. (Used by people testing their sites.)
const wchar_t kDisableWebSecurity[] = L"disable-web-security";
Chrome 48 이전에는 다음을 사용할 수 있습니다.
chromium-browser --disable-web-security
open /Applications/Google\ Chrome.app --args --disable-web-security
--user-data-dir
해야합니다.
네. OSX의 경우 터미널을 열고 다음을 실행하십시오.
$ open -a Google\ Chrome --args --disable-web-security --user-data-dir
--OSX의 Chrome 49 이상에 --user-data-dir 필요
Linux의 경우 :
$ google-chrome --disable-web-security
또한 AJAX 또는 JSON과 같은 개발 목적으로 로컬 파일에 액세스하려는 경우에도이 플래그를 사용할 수 있습니다.
-–allow-file-access-from-files
Windows의 경우 명령 프롬프트로 이동하여 Chrome.exe가있는 폴더로 이동 한 다음
chrome.exe --disable-web-security
동일한 출처 정책을 비활성화하고 로컬 파일에 액세스 할 수 있어야합니다.
업데이트 : Chrome 22 이상에서는 다음과 같은 오류 메시지가 표시됩니다.
지원되지 않는 명령 줄 플래그 인 --disable-web-security를 사용하고 있습니다. 안정성과 보안 문제가 발생합니다.
그러나 개발하는 동안 해당 메시지를 무시할 수 있습니다.
--disable-web-security
명시 적으로을 제공하지 않으면 분명히 작동하지 않습니다 --user-data-dir
. 즉, OSX /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security --user-data-dir=~/ChromeUserData/
.
open -n
. 간단하게 실행하십시오 open -n -a Google\ Chrome --args --disable-web-security --user-data-dir=/tmp/chrome
. 그러면 Mac에서 두 번째 Chrome 앱 인스턴스가 열리고 나란히 사용할 수 있습니다.
Windows 사용자의 경우 :
여기에 허용 된 솔루션의 문제는 이미 Chrome을 열어두고 실행하려고하면 작동하지 않는다는 것입니다.
그러나 이것을 조사 할 때 슈퍼 유저에 대한 게시물을 보았습니다. 웹 보안 유무에 관계없이 Chrome을 실행할 수 있습니까?.
기본적으로 다음 명령을 실행하거나 명령으로 바로 가기를 만들고 Chrome을 열어서
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
다른 "보안"브라우저 인스턴스를 열어 놓고 정상적으로 작동하는 것과 동시에 새로운 "안전하지 않은"Chrome 인스턴스를 열 수 있습니다.
중요 : C:/Chrome dev session
두 번째 시간 --disable-web-security
이 작동하지 않으므로 창을 열 때마다 폴더를 삭제 / 삭제하십시오 . 따라서 변경 사항을 저장 한 다음을 사용하여 안전하지 않은 두 번째 Chrome 인스턴스로 다시 열 수 없습니다 --disable-web-security
.
"C:\..\chrome.exe" --disable-web-security --user-agent="Android" --user-data-dir="C:/temp-chrome-eng" --app="file:///C:/apps/index.html"
open -a Google\ Chrome --args --disable-web-security -–allow-file-access-from-files --user-data-dir="/Users/myuser/temp/chromeData"
했지만 기존 크롬 창에 포커스가 생겼습니다.
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/chrome_dev_session" --disable-web-security
(temp 폴더를 먼저 만들어야 할 수도 있습니다)
들어 윈도우 :
다음 명령을 실행하십시오.
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
대한 맥 :
다음 명령을 실행하십시오.
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
새로운 웹 보안 비활성화 크롬 브라우저가 다음 메시지와 함께 열립니다.
Run
.
Chrome 버전 60.0.3112.78 (솔루션이 테스트되고 작동 한 날) 이상이고 오늘 19.01.2019 (ver. 71.0.3578.98)까지 Windows 사용자의 경우 . 당신은 하지 않는 어떤 크롬 인스턴스를 종료해야합니다.
IT 관리자가 해킹 당할 수 있기 때문에이 특정 브라우저 인스턴스를 브라우징에 사용하지 마십시오!
편집 3 : 확장 프로그램이 더 이상 존재하지 않는 것 같습니다 ... 일반적으로 CORS를 해결하기 위해 별도의 디렉토리로 다른 Chrome 버전을 설정 하거나 https://addons.mozilla.org/en-US/ firefox / addon / cors-every // 대신
편집 2 : 더 이상 일관되게 작동하도록 할 수 없습니다.
편집 : 다른 프로젝트에 다른 요일을 사용하려고 시도했지만 작동이 중지되었습니다. 확장 프로그램을 제거했다가 다시 설치하면 기본값이 재설정됩니다.
원래 답변 :
Chrome을 다시 시작하고 웹 개발을 사용 중지하고 싶지 않았습니다 (개발 중 탐색 중이었기 때문에).이 Chrome 확장 프로그램을 우연히 발견했습니다.
기본적으로 Allow-Access-Origin-Control 검사를 켜고 끄는 작은 토글 스위치입니다. 내가하고있는 일에 완벽하게 작동합니다.
--disable-web-security
이 경우 스위치 를 사용하십시오 .
--allow-file-access-from-files
모든 웹 보안을 비활성화 하는 대신 사용할 수 있습니다 .
위의 솔루션 중 실제로 작동하지 않는 것 같습니다. --disable-웹 보안은 더 이상 최근 크롬 버전에서 지원되지 않습니다.
Allow-Control-Allow-Origin : *-크롬 확장은 부분적으로 문제를 해결했습니다. 요청이 GET 메소드를 사용하고 있고 사용자 정의 HTTP 헤더가없는 경우에만 작동합니다. 그렇지 않으면 크롬은 비행 전 요청으로 OPTIONS HTTP 요청을 보냅니다. 서버가 CORS를 지원하지 않으면 404 HTTP 상태 코드로 응답합니다. 플러그인이 응답 HTTP 상태 코드를 수정할 수 없습니다. 따라서 크롬은이 요청을 거부합니다. 크롬 플러그인이 현재 크롬 확장 API를 기반으로 응답 HTTP 상태 코드를 수정할 수있는 방법이 없습니다. 그리고 XHR에서 시작한 요청에 대해서도 리디렉션을 수행 할 수 없습니다.
Chrome이 왜 개발자의 삶을 어렵게 만드는지 잘 모르겠습니다. 개발 용도로도 불필요하게 XSS 보안 검사를 비활성화하는 모든 가능한 방법을 차단합니다.
며칠의 노력과 연구 끝에 하나의 솔루션이 완벽하게 작동합니다 . corsproxy 를 사용하는 것 입니다. 여기에는 두 가지 옵션이 있습니다. 1. [ https://cors-anywhere.herokuapp.com/] 사용 2. 로컬 상자에 corsproxy를 설치하십시오 . npm install -g corsproxy
[2018 년 6 월 23 일 업데이트] 최근 corsproxy를 다시 사용해야하는 SPA 앱을 개발 중입니다. 그러나 github의 corsproxy 중 어느 것도 내 요구 사항을 충족시킬 수없는 것 같습니다.
그래서 nodejs를 사용하여 자체 버전의 corsproxy를 개발하기로 결정했습니다. 실제로 매우 간단합니다. 나는 그것을 github에 요점으로 출판했다. 다음은 소스 코드 요지입니다. https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
CORSProxy 서버 (http 포트 8080)를 시작하려면 node static_server.js 8080
프록시에 액세스하려면 : http : // host : 8080 / http : //www.somesite.com
Windows의 경우 ... 바탕 화면에 Chrome 단축키를 만듭니다.
마우스 오른쪽 버튼으로 클릭> 속성> 바로 가기
"대상"경로 편집 :
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
( 'C : .... \ chrome.exe'를 크롬이있는 위치로 변경하십시오.)
et voilà :)
Mac 터미널에서이 명령을 시도하십시오
open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security
보안이 비활성화 된 다른 크롬 인스턴스가 열리고 더 이상 CORS 문제가 없습니다. 또한 더 이상 다른 크롬 인스턴스를 닫을 필요가 없습니다. localhost URL을 자신의 것으로 변경하십시오.
가장 좋은 방법은 Windows 바탕 화면에 Chrome 또는 Chrome Canary 단축키를 복제하는 것입니다. 이 단축키의 이름을 "NO CORS"로 바꾼 다음 해당 단축키의 속성을 편집하십시오.
대상 --disable-web-security --user-data-dir="D:/Chrome"
에서 대상 경로의 끝에 추가하십시오 .
목표는 다음과 같아야합니다.
업데이트 : 새 플래그가 추가되었습니다.
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="D:/Chrome"
현재 최신 크롬 버전 (83.0.4103.61 (공식 빌드) (64 비트))을 사용하여 테스트에서 작동하게하는 유일한 방법은 아래 플래그를 사용하여 크롬을 시작하는 것입니다 ( D : \ temp 를 원하는대로 변경하십시오 ) . 이 솔루션은 테스트 용 샌드 박스로 Chrome을 시작하며 기본 크롬 프로필에 영향을 미치지 않습니다.
--disable-site-isolation-trials --disable-web-security --user-data-dir = "D : \ temp"
Windows에서 시작 버튼을 클릭 한 다음 아래를 복사하여 붙여 넣습니다.
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
에 run
창에 창 (10) 감사합니다 많이.
"Allow-Control-Allow-Origin : *"이라는이 크롬 플러그인을 사용할 수 있습니다. ... 죽은 단순하고 매우 잘 작동합니다. 여기에서 확인하십시오 : *
Selenium Webdriver의 경우이 경우 적절한 인수 (또는 "스위치")를 사용하여 셀레늄이 Chrome을 시작하도록 할 수 있습니다.
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
이 Chrome 플러그인은 나를 위해 작동합니다. Allow-Control-Allow-Origin : *-Chrome 웹 스토어
이러지 마! 공격을 위해 계정을 개설하고 있습니다 . 이 작업을 수행하면 타사 사이트에서 다른 웹 사이트 (로그인 한 사이트)에 요청을 시작할 수 있습니다.
대신 로컬 서버를 실행하십시오. 쉘 / 터미널 / 명령 줄을 열고 입력하는 것만 큼 쉽습니다.
cd path/to/files
python -m SimpleHTTPServer
그런 다음 브라우저를
http://localhost:8000
너무 느리다면 이 솔루션을 고려하십시오.
이 답변을 내리는 사람들은 여기로 가서 일관성을 유지하기 위해 이것을 내려야합니다 . 왜 내 답변이 그렇게 다운 투표 되었는지 모르겠으며 여기에 동일한 답변 이 가장 많이 투표 된 답변입니다.
당신 은 공격을 시작합니다. npm을 통해 원격 또는 로컬로 사이트에 포함 된 모든 타사 스크립트는 이제 데이터를 업로드하거나 자격 증명을 도용 할 수 있습니다. 할 필요가없는 일을하고 있습니다. 제안 된 솔루션은 어렵지 않으며 30 초가 걸리며 공격을받지 않습니다. 더 좋은 일이 그렇게 단순 할 때 왜 자신을 취약하게 하시겠습니까?
사람들에게 보안을 해제하라고 말하는 것은 친구들에게 현관 문의 잠금을 해제하거나 도어 매트 아래에 열쇠를 두도록하는 것과 같습니다. 확율이 낮을 수는 있지만 강제 침입의 증거없이 도둑 맞으면 보험 수금에 어려움을 겪을 수 있습니다. 마찬가지로 보안 을 비활성화하면 보안 을 비활성화하는 것 입니다. 단순히 보안을 해제하지 않고 문제를 해결할 수있는 경우에는이 작업을 수행 할 수 없습니다. 보안을 해제 한 일부 회사에서 해고 당하지 않으면 놀랐습니다.
이 크롬 확장 프로그램을 간단히 사용할 수 있습니다 Allow-Control-Allow-Origin을 사용하면됩니다.
확장 프로그램의 아이콘을 클릭하기 만하면 원하는대로 리소스 간 공유를 켜거나 끌 수 있습니다.
MAC 사용자 만
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
Windows 10에서는 다음이 작동합니다.
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
Ola Karlsson의 답변에 따라 실제로 가장 좋은 방법은 다른 세션에서 안전하지 않은 Chrome을 여는 것입니다. 이렇게하면 현재 열려있는 모든 탭을 닫을 필요가 없으며 원본 Chrome 세션으로 웹을 계속 안전하게 서핑 할 수 있습니다.
이 배치 파일은 Windows에서 작동합니다.
쉽게 사용할 수 있도록 Chrome_CORS.bat 파일 에 넣습니다.
start "" "c:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --user-data-dir="c:/_chrome_dev" --disable-web-security
이것은 Chrome Canary 용 입니다. Canary_CORS.bat
start "" "c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --disable-web-security
Linux- Ubuntu에서 일반 세션과 안전하지 않은 세션을 동시에 실행하려면 다음 명령을 실행하십시오.
google-chrome --user-data-dir=/tmp --disable-web-security
Mac 사용자의 경우 :
open -a "Google Chrome" --args --disable-web-security --user-data-dir
Chrome 48 이전에는 다음을 사용할 수 있습니다.
open -a "Google Chrome" --args --disable-web-security
CORS Toggle이라는 Chrome 확장 프로그램이 있습니다.
여기를 클릭하여 액세스하여 Chrome에 추가하십시오 .
추가 한 후 도메인 간 요청을 허용 하려면 켜기 위치로 전환하십시오 .
Windows의 경우 :
( Windows 8.1, Chrome 44.0 사용 )
먼저 Google 크롬을 닫습니다.
그런 다음 명령 프롬프트를 열고 'chrome.exe'가있는 폴더로 이동하십시오.
( for me: 'chrome.exe' is here "C:\Program Files (x86)\Google\Chrome\Application".
그래서 나는 입력 :
cd C:\Program Files (x86)\Google\Chrome\Application
)
이제 다음을 입력하십시오. chrome.exe --disable-web-security
새로운 크롬 창이 열립니다.
Windows에서 :
1) 새로운 바로 가기를 만듭니다 :
2) 다음 경로를 붙여 넣습니다.
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" "C:\Program Files\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="c:\temp\chrome"
3) 다음 페이지에서
Unsafe Chrome.exe
이제 CORS 응용 프로그램을 디버깅하는 데 사용할 수있는 안전하지 않은 크롬이 데스크탑에 있습니다. 이 그래픽 답변이 일부 사람들에게 도움이 되길 바랍니다!
이 페이지로 이동하여 웹 사이트 도메인에 대한 도메인 보안 정책을 비활성화하십시오.
chrome://net-internals/#hsts
Input a domain name to delete its dynamic domain security policies (HSTS and Expect-CT). (You cannot delete preloaded entries.):
됩니다.