2016-10-31 4 views
1

사이트 B의 사이트 A의 콘텐츠에 액세스하려고합니다. 따라서 사이트 B의 액세스 제어 허용 허용 원을 와일드 카드 (*)로 설정합니다. 그러나 구성 후 크로스 기점 예외가 발생합니다. 이 키워드 액세스 제어 - 허용 - 원산지는 대소 문자를 구분하기 때문에응답 헤더에서 Access-Control-Allow-Origin이 대소 문자를 구분합니까?

access-control-allow-headers: * 
access-control-allow-origin: * 

그래서, 나는 확실하지 않다입니다 : 그럼,이 사이트를 URL을 곱슬 곱슬하고,이 결과를 얻으려고?

나는 주위를 둘러 보려고했는데, 낙타의 경우에 해당하는 문서를 찾을 수 없다.

업데이트 :

나를 정말 나에게 무슨 설명하자

  1. 내가 사이트 B SRC와 iframe이있다 (https://siteB.com) = "https://siteA.com"이있다. ,이 기능은 때 액세스 $ (iframe을) .contents() 예외를 가지고

    function showPageDialog(url, id, title, onCloseDialog) { var iframe = $('<iframe/>', {'class': 'frame', 'src': url}).load(function(){ setTimeout(function() { $(iframe).height($(iframe).contents().height()); }, 100); }); showDialog(iframe, id, title, onCloseDialog); }

: 사이트 B에

  • , 그 iframe을 동적 높이를 얻을 수있는 스크립트가 다음과 같은 예외 세부 :

    ,617,451 : 여기

    Uncaught DOMException: Failed to read the 'contentDocument' property from 'HTMLIFrameElement': Blocked a frame with origin "https://siteB.com" from accessing a cross-origin frame. 
    

    는 컬 결과

    HTTP/1.1 200 OK 
    Server: Apache 
    ETag: "f8daec99fedb6b0cd0d205598167cf11:1477550373" 
    Last-Modified: Thu, 27 Oct 2016 06:39:33 GMT 
    Accept-Ranges: bytes 
    Content-Length: 44152 
    Content-Type: text/html 
    Date: Mon, 31 Oct 2016 09:14:19 GMT 
    Connection: keep-alive 
    access-control-allow-headers: * 
    access-control-allow-origin: * 
    

    @ duskwuff의 대답에서 언급했듯이 나는 siteA의 응답 헤더에 Access-Control-Allow-*을 가지고있었습니다. 그러나 여전히 예외가 발생합니다.

  • +0

    빠른 답변을 보내 주셔서 감사합니다. : p – Bent

    답변

    3

    아니요, 헤더는 대소 문자를 구분하지 않습니다.

    문제가 간단합니다. Access-Control-Allow-* 헤더는 헤더가 나타나는 사이트에만 영향을 미칩니다. 사이트 B가 보낸 헤더는 스크립트를 통해 사이트 B에만 액세스 권한을 부여 할 수 있습니다.

    사이트 B에서 실행되는 스크립트에서 사이트 A에 액세스하려면 사이트 A에 Access-Control-Allow-* 헤더를 추가하거나 액세스를 포함하지 않는 다른 솔루션을 찾아야합니다 그것은 스크립트에서.

    +0

    ur 대답은 저의 요점을 가지고 있습니다. 업데이트 된 질문을 살펴보고 해결 방법에 대한 제안을 해줄 수 있습니까? – Bent