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.