http 페이지에서 https를 사용하는 Ajax
내 사이트는 http 및 https 프로토콜을 사용합니다. 콘텐츠에 영향을주지 않습니다. 내 사이트는 페이지의 일부 영역을 채우는 jQuery ajax 호출을 사용합니다.
이제 https를 통해 모든 ajax 호출을 수행하고 싶습니다. (이유를 묻지 피고 :)) https 프로토콜이있는 페이지에있을 때 ajax 요청이 작동합니다. http 프로토콜이있는 페이지에있을 때 javascript 오류 : URI에 대한 액세스가 거부되었습니다.
이것이 교차 도메인 문제라는 것을 알고 있습니다 (사실 교차 프로토콜 문제입니다).
그래도 모든 ajax 호출이 https가되고 http를 통해 페이지에서 호출되기를 원합니다. 달성하기위한 해결 방법이 있습니까? (일부 json / 프록시 솔루션?), 아니면 해결할 수 있습니까?
서버에서 Access-Control-Allow-Origin 헤더 추가
Access-Control-Allow-Origin: https://www.mysite.com
http://en.wikipedia.org/wiki/Cross-Origin_Resource_Sharing
JSONP를 사용합니다.
대부분의 JS 라이브러리는 다른 AJAX 호출처럼 쉽게 만들지 만 내부적으로는 iframe을 사용하여 쿼리를 수행합니다.
페이로드에 JSON을 사용하지 않는 경우 iframe을 중심으로 자체를 롤링해야합니다.
개인적으로 http : // 페이지에서 https : // 페이지로 리디렉션하겠습니다.
http://example.com/ 은 https://example.com/ (호스트 헤더가 전송되지 않은 IP에 대한 헤더에 응답)와 다른 가상 호스트 로 해석 될 수 있으므로 두 가상 호스트는 처리됩니다. 따라서 도메인 간 JS 제한이 적용됩니다.
JSON 절약을 사용 하면이를 방지 할 수 있습니다.
오픈 소스 Forge 프로젝트를 확인하십시오. 실제 교차 도메인 요청을 처리하기 위해 일부 Flash와 함께 JavaScript TLS 구현을 제공합니다.
http://github.com/digitalbazaar/forge/blob/master/README
간단히 말해, Forge를 사용하면 http를 통해 https 사이트로로드 된 웹 페이지에서 XmlHttpRequests를 만들 수 있습니다. 교차 도메인 요청을 활성화 선택 파일 서버를 통해 플래시 교차 도메인 정책을 제공해야합니다. 작동 방식에 대한 자세한 설명을 보려면 README 끝에있는 블로그 게시물을 확인하십시오.
그러나 Forge는 두 개의 다른 https 도메인 요청에 더 많은 요청을해야합니다. 그 이유는 강력한 인 MiTM 공격이 있기 때문입니다. 안전하지 않은 사이트에서 JavaScript 및 Flash를로드하면 손상 될 수 있습니다. 가장 안전한 용도는 보안 사이트에서로드 한 다음 다른 사이트 (보안 또는 기타)에 액세스하는 데 사용하는 것입니다.
iframe에서 https 페이지를로드하고 일부 브리지를 통해 프레임 안 앞으로 모든 ajax 요청을 라우팅 할 수 있습니다. (보안 경쟁에 대해 동일 액세스 제한을 적용할지 여부). 라이선스 요청을 다시 라우팅하는 로컬 http 프록시 (예 : 교차 도메인 호출)가 허용되는 솔루션입니다.
내가하는 일은 다음과 같다.
게시하려는 데이터로 숨겨진 iFrame을 생성하십시오. 여전히 해당하는 iFrame을 사용하지 않습니다. 그런 다음 해당 iFrame의 양식을 SSL 페이지에 출시하십시오. 그런 다음 SSL 페이지는 상태 메시지가있는 비 SSL 페이지로 리디렉션됩니다. iFrame에 액세스 할 수 있습니다.
참고 URL : https://stackoverflow.com/questions/1105934/ajax-using-https-on-an-http-page
'IT' 카테고리의 다른 글
이클립스에서 당신의 치료를 받으시나요? (0) | 2020.08.22 |
---|---|
RESTful 서비스의 비 CRUD 작업 (0) | 2020.08.22 |
정규식을 사용하여 일치하는 대신에 생성 (0) | 2020.08.22 |
OAuth 토큰 생성에 대한 모범 사례? (0) | 2020.08.22 |
특정 glibc 버전에 연결해야합니까? (0) | 2020.08.22 |