안전하지 않은 JavaScript가 URL로 프레임에 액세스하려고합니다.
다른 도메인 URL을 포함하는 iframe에서 부모 URL로 해시 값을 설정하려고하면 아래 오류가 발생합니다.
안전하지 않은 JavaScript는 URL이 "URL2"인 프레임에서 URL이 "URL1"인 프레임에 액세스하려고합니다. 도메인, 프로토콜 및 포트가 일치해야합니다.
이 문제를 어떻게 해결할 수 있습니까?
원본이 다른 하위 문서에서 최상위 창의 location.hash
속성에 액세스 할 수 없지만 location
속성 자체 를 설정할 수 있습니다.
상단 창 위치가 주어진 것을이 방법 http://example.com/page/
대신에 일을,
parent.location.hash = "#foobar";
부모의 위치를 알아야하고
parent.location = "http://example.com/page/#foobar";
리소스가 탐색되지 않기 때문에 예상대로 작동하며 URL의 해시 부분 만 변경합니다.
도메인 간 통신에이를 사용하는 경우 easyXDM을 대신 사용하는 것이 좋습니다 .
두 프레임이 서로 다른 도메인-> 보안을 가지고 있으면 크로스 프레임 스크립팅이 불가능합니다.
이것을보십시오 : http://javascript.about.com/od/reference/a/frame3.htm
이제 귀하의 질문에 대답하십시오 : 해결책이나 해결 방법이 없습니다. 다른 도메인의 URL을 변경하는 다른 도메인의 두 프레임이 있어야하는 웹 사이트 디자인을 확인하면됩니다.
iframe.src의 도메인을 모 으려고 할 때 동일한 오류 메시지가 나타납니다.
나에게 답은 iframe.src를 SAME 도메인의 URL로 변경하는 것이었지만 실제로는 원하는 도메인으로의 html 리디렉션 페이지였습니다. 그런 다음 다른 도메인이 오류없이 iframe에 나타났습니다.
매력처럼 일했다. :)
해결책은 원격 컨텐츠를 검색하는 로컬 파일을 사용하는 것입니다
remoteInclude.php
<?php
$url = $_GET['url'];
$contents = file_get_contents($url);
echo $contents;
HTML
<iframe frameborder="1" id="frametest" src="/remoteInclude.php?url=REMOTE_URL_HERE"></iframe>
<script>
$("#frametest").load(function (){
var contents =$("#frametest").contents();
});
HTML5 버전 대신 XFBML 버전의 Facebook like 버튼을 사용하면이 문제가 해결되었습니다. 버튼을 표시 할 위치에 아래 코드를 추가하십시오.
<div id="fb-root"></div>
<script>(function (d, s, id) {
var js, fjs = d.getElementsByTagName(s)[0];
if (d.getElementById(id)) return;
js = d.createElement(s); js.id = id;
js.src = "//connect.facebook.net/en_GB/all.js#xfbml=1";
fjs.parentNode.insertBefore(js, fjs);
}(document, 'script', 'facebook-jssdk'));</script>
<fb:like send="true" layout="button_count" width="50" show_faces="false" font="arial"></fb:like>
그런 다음 이것을 HTML 태그에 추가하십시오.
xmlns:fb="http://ogp.me/ns/fb#"
프록시를 작성하거나 컨텐츠를로드하여 로컬 인 것처럼 주입하더라도 해당 컨텐츠가 정의한 스크립트가 다른 도메인에서로드되어 도메인 간 문제점이 발생합니다.
참고 URL : https://stackoverflow.com/questions/4324108/unsafe-javascript-attempt-to-access-frame-with-url
'programing tip' 카테고리의 다른 글
“오류 : 선택한 JDK에서 Java VM 실행 파일을 확인할 수 없습니다”의 이유는 무엇입니까? (0) | 2020.07.30 |
---|---|
Git으로 두 날짜 사이에 발생한 모든 커밋 사이의 차이점을 어떻게 알 수 있습니까? (0) | 2020.07.30 |
ipython 내에서 Python 스크립트 실행 (0) | 2020.07.29 |
Axios와 Fetch의 차이점은 무엇입니까? (0) | 2020.07.29 |
Maven을 사용하여 프로그램을 어떻게 실행합니까? (0) | 2020.07.29 |