문제

나는 여러 하위 도메인이있는 인트라넷에서 작업하고 있습니다. 각 하위 도메인을 통제 할 수 있으므로 크로스 사이트 요청의 보안은 문제가되지 않습니다. 복제없이 여러 하위 도메인에서 호출하려는 JSON 응답이있는 PHP 스크립트가 있습니다. GET 요청의 경우 Ajax 및 JSONP 로이 작업을 수행 할 수 있지만 게시물 요청과 함께 작동하지 않습니다. 내가 보는 몇 가지 대안은 그 중 어느 것도 매우 좋아 보이지 않습니다.

  • 최소한의 응답으로 로컬 하위 도메인의 사본에 게시 한 다음 JSONP와 함께 중앙 위치에서 전체 응답을 받으십시오.
  • 둘 다 게시물과 JSON과 함께 로컬 하위 도메인의 사본을 받으십시오.
  • Mod_rewrite를 사용하여 JSON과 함께 백엔드에 중앙 스크립트가있는 로컬 URL을 사용하십시오.
  • Symlinks를 사용하여 JSON을 사용하여 백엔드에 중앙 스크립트가있는 로컬 URL을 사용하십시오.

더 간단한 것을 놓치고 있습니까? 여기서 무엇을 하시겠습니까?

도움이 되었습니까?

해결책

이걸보세요 https://developer.mozilla.org/en/http_access_control 페이지. 필요한 모든 것 - 게시물 요청을 수락하는 모든 스크립트에 헤더를 추가하십시오. 예시:

다른 팁

서버쪽에 간단한 반사기를 쓸 수 있습니다. AJAX 요청을 적절한 도메인으로 전달하는 각 도메인에 스크립트를 추가하십시오. 이 스크립트는 매우 간단 할 수 있으며 (1 또는 2 줄의 코드) 크로스 사이트 스크립팅 문제를 피하고 기존 스크립트에서 복잡한 비즈니스 로직을 복제 할 필요가 없음을 의미합니다.

서버에 대한 추가 작업이 발생하지만 문제가되지 않을 수 있습니다.

내가 관리하는 사이트에서 찾을 수있는 가장 가까운 예제 코드는 다음과 같습니다. 여기서는 HTTPS 연결에서 Googles 차트 API를 사용할 수 있어야했습니다 (아직 지원하지 않음). 해결책은 통화를 전달한 다음 스크립트를 추가하는 것이 었습니다 ...

<?php
// Set header so our output looks like a PNG
header("Content-Type: image/png");

// Reflect the image from googles chart API
echo file_get_contents('http://chart.apis.google.com/chart?'.$_SERVER['QUERY_STRING']);
?>

나는 그러한 경우에 REST 접근법을 사용합니다. 휴식에 대한 자세한 내용은 Google을 검색하십시오.

동일한 도메인의 하위 도메인 인 경우 모든 페이지 에이 코드를 추가 할 수 있습니다.

document.domain = 'domain.com';

그런 다음 일반 xmlhttprequest 만 사용하십시오.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top