Chrome 웹킷 검사기에서 '안전하지 않은 자바 스크립트가 URL로 프레임에 액세스하려고합니다…'오류가 계속 발생 함


129

예를 들어 Facebook API로 작업 할 때 Chrome (또는 다른 웹킷 브라우저)은 이러한 "안전하지 않은 JavaScript로 URL에 프레임에 액세스하려고합니다 ..."를 많이 발생시킵니다.

실제 작업을 방해하지는 않지만 Javascript 콘솔을 기본적으로 사용할 수 없게 만듭니다.

콘솔에서 이러한 오류를 구체적으로 억제하는 방법이 있는지 알고 싶습니다. 또는 다른 사람들이 생각할 수있는 솔루션이 있다면 정말 감사하겠습니다.

감사.


1
현재 콘솔 탭을 설정하여 로그 만 표시하는 해결 방법을 사용하고 있습니다. 오류를 추적 할 수있는 솔루션을 찾고 있습니다 (이것이 아니라).
Neil Sarkar

API 사용 방법에 대한 샘플을 제공하는 것이 좋습니다. 이것이 일어날 수있는 많은 이유가 있습니다.
Kinlan

나는 당신이 무엇을 의미하는지 알고 있지만, 이것은 모든 페이스 북 통합에서 발생한다고 확신합니다. 예를 들어,이 Domino 사이트 (운영중인 경우) pizzaholdouts.com
Neil Sarkar

1
단순히 크로스 사이트 스크립팅을 시도하지 않습니까? 자신의 서버에서 페이스 북 API 주소를 요청하고 있습니까? 방법은 조금 다릅니다.
Tomasz Durka

4
아무것도 요구하지, 난 그냥 JS 작업 SDK를 얻을 수있는 상용구 물건에 넣어 developers.facebook.com/docs/reference/javascript
닐 사카

답변:


19

--disable-web-security명령 행 옵션으로 chrome을 실행하여 테스트 중에 도메인 간 요청을 허용 할 수 있습니다. 이것은 아마도 오류를 제거해야합니다 (그리고 FB가 테스트를 감시하도록 허용하십시오).


흠, 그거 흥미 롭다 ... 명령 줄과 별도로 옵션을 설정하는 방법이 있습니까? 나는 이것을 커맨드 라인에서 시도했다. /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --disable-web-security그리고 그것은 작동하는 것처럼 보였다! 하지만 내 프로필을로드 할 수 없다고 말했습니다 ... 앱 내에서 플래그를 설정하거나 기본값으로 설정하는 방법에 대한 아이디어가 있습니까?
Neil Sarkar

4
업데이트로, 나는 크롬을 독점적으로 사용하고 있으며, 여전히 이것에 대한 답을 알고 싶습니다.
Neil Sarkar

2
open -a '/Applications/Google Chrome Canary.app' --args --disable-web-security
sandstrom

4

다른 도메인의 소스가로드되어 document.cookie에 액세스하려고 할 때 발생합니다. 헤드 소스 (스크립트 태그) 및 iframe 문서에서 발생하며 어떤 이유로 document.cookie에 액세스하려고합니다.


4

뭐가 문제 야?

Unsafe JavaScript attempt to access frame with URL...Chrome JS 콘솔에 수많은 오류 메시지가 표시됩니다.

으로 @thechrisproject 지적 , 이러한 오류를 포함하여, 많은 평판 3 자 API의 위젯에 의해 발생하지만 이에 국한되지 않습니다 :

  • 페이스 북 JS SDK
  • Vimeo Iframe 임베드
  • Google Maps Iframe 포함

이유 에 대한 내 이해 : (잘못되면 수정하십시오)

Chrome은 보안 설정이 엄격하며 경쟁 브라우저보다 더 많은 오류를 표시합니다. API / 위젯 / 내장 작성자는 모든 브라우저에서 작동하지는 않지만 (아마도 자체보고 / 분석 용으로) 위젯이 작동하지 않는 경우 실제로는 위젯의 유용성에 영향을 미치지 않는 작업 (크로스 도메인 / 프레임)을 시도합니다. 일 (많은 성가신 오류를 일으킴)

빠른 답변

NO, 당신은 (수 없습니다 ) 크롬 콘솔에서 이러한 오류를 억제.

솔루션?

  • 받아 들여. 이 오류는 실제로 타사 API 및 위젯을 손상시키지 않으며 단지 콘솔을 사용하기가 훨씬 어렵습니다.
  • 콘솔에서 경고, 로그 또는 디버그 메시지 만 기록하도록 설정할 수 있습니다. 모든 오류가 숨겨집니다.
  • 다른 브라우저를 사용할 수 있습니다
  • @Dagg_Nabbit. 지적 , --disable-web-security명령 줄 옵션으로 크롬을 실행하여 도메인 간 요청을 허용 할 수 있습니다 . 자세한 정보 : Chrome에서 동일한 출처 정책을 사용 중지합니다 . 이 설정은 브라우저의 보안에 부정적인 영향을 미칩니다. 이 플래그를 사용하거나 사용하지 않고 열 수있는 2 개의 크롬 단축키가 있습니다.

3

이러한 안전한 브라우저를 구축했다고 Google 직원을 비난 할 수 없기 때문에 가장 좋은 해결책은 Facebook의 서버 측 솔루션 (예 : PHP SDK)을 사용하는 것입니다. 많은 두통. FB javascript SDK를 사용할 때 얻을 수있는 유일한 이점은 javascript / jQuery를 사용하여 직접 수행 할 수있는 팝업 로그인입니다.


6
PHP SDK (또는 다른 서버 측 SDK)를 사용하면 많은 골칫거리가 발생하는 이유는 무엇입니까?
Steve Horn

@steve : Chrome이 안전하지 않은 요청을 차단한다는 사실은 클라이언트 측 처리가 얼마나 안전하지 않은지에 대해 많은 답변을합니다.
Jhourlad Estrella

2
JS 콘솔의 IMHO 오염은 로직 서버 측 또는 클라이언트 측 중 어느 것을 넣을지 결정할 때 고려해야 할 주요 사항이 아닙니다.
Zach Lysobey

1
성능, 보안, 코드 구성 / 유지 관리, 이식성-먼저 고려해야 할 모든 것. stackoverflow.com/questions/1516852/…
Zach Lysobey

2

Facebook에 앱을 등록 할 때 사이트 URL 필드에 슬래시가 없으면이 오류가 발생할 수 있습니다. 즉, 당신이 필요 " http://domain.com / "하지 " http://domain.com "

developers.facebook.com/apps 에서 설정 편집-> 기본-> 사이트 URL 에서 사이트 URL 설정을 확인할 수 있습니다 .


나에게 당신의 문장을 명확하게 설명해 주시겠습니까?
itinance
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.