Chrome에서 동일한 원본 정책 사용 안 함
Google의 Chrome 브라우저에서 Same-origin 정책을 비활성화할 수 있는 방법이 있습니까?
크롬을 닫고 시작합니다.--disable-web-security
i. "localhost /ubuntu에 페이지)에http.com"가 할 수 있는 했습니다.방금 테스트한 결과, "localhost"(크롬 5 / ubuntu 아래에 있음)에서 제공하는 페이지에 src="http://google.com"가 포함된 iframe의 컨텐츠에 액세스할 수 있음을 확인했습니다.저에게 정확한 명령은 다음과 같습니다.
참고: 명령을 실행하기 전에 모든 Chrome 인스턴스를 중지하십시오.
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
네. 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 is 및 type
chrome.exe --disable-web-security
그러면 동일한 오리진 정책이 비활성화되고 로컬 파일에 액세스할 수 있습니다.
업데이트: Chrome 22+의 경우 다음과 같은 오류 메시지가 표시됩니다.
지원되지 않는 명령줄 플래그 --disable-web-security를 사용하고 있습니다.안정과 안전은 타격을 입을 것이다.
그러나 개발 중에 이 메시지를 무시할 수 있습니다.
Windows 사용자의 경우:
있는 , Chrome을 , 기, 약, 약, 면, 면, 면, 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 면 the the the thechrome.exe --disable-web-security
명령하면 안 돼요
그런데 조사하다가 우연히 Super User라는 글을 보게 되었는데, 웹 보안과 크롬을 동시에 실행할 수 있을까요?
기본적으로 명령어에 추가하고 대신 다음과 같이 실행해야 합니다(또는 바로 가기를 만들고 이를 통해 새 Chrome 인스턴스를 실행).
chrome.exe --user-data-dir="C:/Chrome dev session" --disable-web-security
그러면 다른 "보안된" 브라우저 인스턴스를 열어 정상적으로 작동하는 것과 동시에 새로운 "보안되지 않은" Chrome 인스턴스가 열립니다.
이는 C: 아래에 새 폴더/디렉토리 "Chrome dev session"을 생성하여 이 새 Chrome 인스턴스에 해당 폴더/디렉토리를 사용자 및 세션 데이터에 사용하도록 지시합니다.따라서 새 인스턴스는 "일반" Chrome 데이터와 분리되며 이 인스턴스에서는 북마크 및 기타 저장된 데이터를 사용할 수 없습니다.
주의: 이 방법으로 열린 첫 번째 "새로운" Chrome 인스턴스만 해당되므로 첫 번째 새로운 Chrome 창의 첫 번째 탭일 뿐입니다.이 인스턴스를 닫으면 동일한 명령을 다시 사용할 수 있습니다. 예를 들어 로컬 앱이나 유사한 앱에 대한 북마크는 동일한 폴더를 가리키기 때문에 계속 유지됩니다.
여러 "비보안" 인스턴스를 실행하려면 각 인스턴스는 고유한 폴더/디렉토리가 필요하므로 다른 폴더 이름으로 명령을 다시 실행해야 합니다.그러나 이는 각 안전하지 않은 인스턴스가 다른 인스턴스와 분리되므로 북마크 또는 기타 저장된 사용자 또는 세션 데이터를 인스턴스 간에 사용할 수 없음을 의미합니다.
Windows 의 경우:
시작 메뉴를 엽니다.
+R를 입력하거나 "실행"을 엽니다.
다음 명령을 실행합니다.
chrome.exe --user-data-dir="C://Chrome dev session" --disable-web-security
Mac의 경우:
터미널로 이동
다음 명령을 실행합니다.
open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome dev session" --disable-web-security
새 웹 보안 비활성화 Chrome 브라우저가 열리고 다음 메시지가 표시됩니다.
Mac용
기존 탭을 닫지 않고 비활성화된 Chrome 브라우저의 새 인스턴스를 열려면 아래 명령을 사용하십시오.
open -na Google\ Chrome --args --user-data-dir=/tmp/temporary-chrome-profile-dir --disable-web-security
아래와 같이 웹 보안이 비활성화된 Chrome 브라우저의 새 인스턴스를 엽니다.
최신 크롬 버전 103.0.5060.134(공식 빌드)(64비트) 사용
windows : [시작]버튼을 클릭하여 아래를 복사 붙여넣습니다(D:\temp 를 원하는 대로 변경).
chrome.exe --disable-site-isolation-trials --disable-web-security --user-data-dir="D:\temp"
Linux : 터미널을 시작하고 다음 명령을 실행합니다(~/tmp 디렉토리를 원하는 대로 변경).
google-chrome --disable-site-isolation-trials --disable-web-security --user-data-dir="~/tmp"
메모: 이 솔루션은 격리된 샌드박스에서 크롬을 시작하여 메인 크롬 프로파일에는 영향을 주지 않습니다.
Chrome 버전 60.0.3112.78(솔루션이 테스트되고 작동된 날)을 사용하는 Windows 사용자의 경우, 적어도 오늘 19.01.2019(버전 71.0.3578.98)까지입니다.Chrome 인스턴스를 닫을 필요가 없습니다.
- 바탕 화면에 바로 가기 만들기
- 바로 가기를 마우스 오른쪽 버튼으로 클릭하고 속성을 클릭합니다.
- 대상 속성 편집
- 「C:」로 설정합니다.\Program Files (x86)\Google\Chrome\Application\chrome.exe" --disable-web-security --user-data-dir="C:/ChromeDevSession"
- chrome을 시작하고 --disable-web-security is not supported!라는 메시지를 무시합니다.
이 특정 브라우저 인스턴스를 브라우징에 사용하지 마십시오. 해킹당할 수 있습니다.
EDIT 3: 확장이 더 이상 존재하지 않는 것 같습니다...요즘은 보통 CORS를 이용하기 위해 다른 버전의 Chrome을 별도의 디렉토리로 설정하거나 Firefox와 https://addons.mozilla.org/en-US/firefox/addon/cors-everywhere/를 함께 사용합니다.
EDIT 2: 이 기능을 일관성 있게 사용할 수 없게 되었습니다.
편집: 얼마 전에 다른 프로젝트에 사용하려고 했는데 작동이 중지되었습니다.언인스톨 해 재인스톨 하면, 확장이 수정됩니다(디폴트 리셋).
원답:
Chrome을 다시 시작하고 웹 보안을 해제하고 싶지 않아서(개발 중 브라우징 중이었기 때문에) 이 Chrome 확장자를 우연히 발견했습니다.
기본적으로 Allow-Access-Origin-Control 체크를 켜고 끄는 작은 전환 스위치입니다.내가 하는 일에 딱 들어맞는군
위의 어떤 해결책도 실제로 효과가 없는 것 같습니다.--disable-web-security는 최신 Chrome 버전에서 더 이상 지원되지 않습니다.
Allow-Control-Allow-Origin: * - 크롬 확장으로 문제가 부분적으로 해결되었습니다.이 기능은 요청이 GET 메서드를 사용하고 있고 사용자 정의 HTTP 헤더가 없는 경우에만 작동합니다.그렇지 않으면 크롬은 OPTIONS HTTP 요청을 사전 요청으로 보냅니다.서버가 CORS를 지원하지 않는 경우 404 HTTP 상태 코드로 응답합니다.플러그인이 응답 HTTP 상태 코드를 수정할 수 없습니다.그래서 크롬은 이 요청을 거부합니다.Chrome 플러그인은 현재 Chrome 확장 API를 기반으로 응답 HTTP 상태 코드를 수정할 수 없습니다.또한 XHR에서 시작된 요청에 대해서도 리다이렉트를 수행할 수 없습니다.
왜 크롬이 개발자들의 삶을 그렇게 힘들게 하는지 모르겠다.XSS 보안 체크를 디세블로 할 수 있는 모든 방법을 차단합니다.이것은 전혀 불필요합니다.
며칠간의 고군분투와 연구 끝에 내게 딱 맞는 해결책이 하나 있다. 바로 코르스프록시를 사용하는 것이다.여기에는 두 가지 옵션이 있습니다.1 . use [ https://cors-anywhere.herokuapp.com/ ]2 . 로컬박스에 corsproxy 설치 : npm install - g corsproxy
[2018년 6월 23일 업데이트]최근 코르스프록시를 다시 사용해야 하는SPA 앱을 개발하고 있습니다하지만 기트허브의 코르스프록시는 내 요구를 충족시키지 못하는 것 같아
- 보안상의 이유로 방화벽 내에서 실행할 필요가 있습니다.그래서 https://cors-anywhere.herokuapp.com/을 사용할 수 없습니다.
- 크롬이 https 페이지 내에서 no-https ajax 요청을 차단하므로 https를 지원해야 합니다.
- nodej에서 실행해야 합니다.다른 언어 스택을 유지하고 싶지 않습니다.
그래서 저는 nodejs를 가진 저만의 코르스프록시를 개발하기로 결심했습니다.사실 아주 간단합니다.나는 그것을 기투브에 요지로 출판했다.다음은 소스 코드 요지입니다.https://gist.github.com/jianwu/8e76eaec95d9b1300c59596fbfc21b10
- 추가 종속성이 없는 일반 nodejs 코드입니다.
- http 및 https 모드에서 실행할 수 있습니다(커맨드라인에서 https 포트 번호를 전달하면).https를 실행하려면 증명서와 키를 생성하여 webroot 디렉토리에 저장해야 합니다.
- 정적 파일 서버 역할도 합니다.
- 또한 사전 비행 OPTION 요청도 지원합니다.
CORSProxy 서버(http 포트 8080)를 기동하려면:node static_server.js 8080
프록시 액세스 방법:http://host:8080/http://www.somesite.com
이 명령어를 Mac 단말기에서 사용해 보십시오.
open -n -a "Google Chrome" --args --user-data-dir=/tmp/temp_chrome_user_data_dir http://localhost:8100/ --disable-web-security
보안이 해제된 크롬 인스턴스가 하나 더 열리며 더 이상 CORS 문제가 없습니다.또한 더 이상 다른 chrome 인스턴스를 닫을 필요가 없습니다.localhost URL을 자신의 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"
우 .크롬
[ []> [ ]> [ ]를 오른쪽
"
"C:\Program Files\Google\Chrome\Application\chrome.exe" --args --disable-web-security
('C:...'를 변경합니다.\syslog.크롬이 있는 곳까지 exe'
et voila :)
- 바로 가기 만들기:
- 다음 명령을 붙여넣습니다.
cmd /c start chrome --disable-web-security --user-data-dir="c:\temp\chrome"
- 관리자로 실행
Selenium Web 드라이버의 경우, 이 경우 적절한 인수(또는 "스위치")를 사용하여 Crome을 시작할 수 있습니다.
@driver = Selenium::WebDriver.for(:Chrome, {
:detach => false,
:switches => ["--disable-web-security"]
})
이 Chrome 플러그인은 "Allow-Control-Allow-Origin: *"라고 합니다.아주 단순하고 아주 잘 작동합니다.여기를 체크해 주세요.*
OSX의 경우 단말기에서 다음 명령을 수행합니다.
open -na Google\ Chrome --args --disable-web-security --user-data-dir=$HOME/profile-folder-name
그러면 Google Chrome의 새 인스턴스가 시작되고 맨 위에 경고가 표시됩니다.
주의: 를 사용하는 경우--user-data-dir
그런 다음 매개 변수 없이 다시 실행하더라도 사용자 데이터 폴더와의 연결을 끊고 모든 사이트에서 로그아웃합니다.롤백하려면 위의 방법으로 열어야 합니다.단, 이 prameter는 사용하지 않습니다.
MAC 사용자 전용
open -n -a /Applications/Google\ Chrome.app --args --user-data-dir="/tmp/someFolderName" --disable-web-security
이 크롬 확장자 Allow-Control-Allow-Origin을 사용하면 됩니다.
필요에 따라 리소스 간 공유를 켜거나 끄려면 확장 아이콘을 클릭하십시오.
Linux에서 Google Chrome을 사용하는 경우 다음 명령이 작동합니다.
google-chrome --disable-web-security
이 Chrome 플러그인은 나에게 유효합니다: Allow-Control-Allow-Origin: * - Chrome Web Store
Linux Ubuntu에서 일반 세션과 안전하지 않은 세션을 동시에 실행하려면 다음 명령을 실행합니다.
google-chrome --user-data-dir=/tmp --disable-web-security
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
이건 크롬 카나리아를 위한 거야Canary_CORS.bat
start "" "c:\Users\%USERNAME%\AppData\Local\Google\Chrome SxS\Application\chrome.exe" --user-data-dir="c:/_canary_dev" --disable-web-security
chromium-browser --disable-web-security --user-data-dir=~/ChromeUserData/
Windows 10 에서는, 다음의 조작이 가능합니다.
<<path>>\chrome.exe --allow-file-access-from-files --allow-file-access --allow-cross-origin-auth-prompt
이것은 항상 움직이는 목표물입니다... 오늘 저는 그것을 작동시키기 위해 플래그를 하나 더 추가해야 했습니다.--disable-site-isolation-trials
OS X:open /Applications/Google\ Chrome.app --args --user-data-dir="/var/tmp/Chrome_dev_2" --disable-web-security --disable-site-isolation-trials
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에 추가하려면 여기를 클릭하십시오.
추가 후 교차 도메인 요청을 허용하려면 해당 위치를 on 위치로 전환하십시오.
Ubuntu에서 Chrome을 시작하는 데 다음 명령을 사용합니다(동일한 오리진 정책을 사용하지 않고 분리 모드에서 Chrome을 엽니다).
nohup google-chrome --disable-web-security --user-data-dir='/tmp' &
Windows 의 경우:
(Windows 8.1, Chrome 44.0 사용)
먼저 구글 크롬을 닫습니다.
그런 다음 명령 프롬프트를 열고 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
크롬의 새 창이 열립니다.
아래 명령어는 OSX Catalina에서만 사용할 수 있습니다.
open -n -a /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --args --user-data-dir="/tmp/chrome_dev_test" --disable-web-security
Windows PC에서는 이전 버전의 Chrome을 사용합니다.이 명령어는 모든 사용자에게 적용됩니다.크롬을 26버전으로 다운그레이드 했더니 작동했어요.
언급URL : https://stackoverflow.com/questions/3102819/disable-same-origin-policy-in-chrome
'programing' 카테고리의 다른 글
MariaDB는 MYSQL/Oracle JSON_TAB의 스케일러블 등가값을 가지고 있습니까?LE (0) | 2022.10.08 |
---|---|
Nuxt.js에서의 CORS 차단 클라이언트 요구 (0) | 2022.10.08 |
JSON 대신 생성된 HTML을 반환하는 것이 나쁜 관행인 이유는 무엇입니까?아니면 그러한가? (0) | 2022.10.08 |
어떤 결과가 나오든 0으로 나눗셈을 지원하는 가장 빠른 정수 나눗셈은 무엇입니까? (0) | 2022.10.08 |
Python의 Windows 경로 (0) | 2022.10.08 |