2011-12-13 3 views
6

POST를 사용하는 매우 간단한 HTML 양식이 있고 그 작업은 내 웹 서버에서 PHP 스크립트를 호출합니다.HTML 양식 POST 교차 도메인

여기 키커가 있습니다 ... 양식을 포함하는 HTML이 동일한 서버에서 호스팅되지 않고 다른 도메인에 존재합니다. 설명과 함께이 질문에 허우적 거리는 일이 없기 때문에 이것은 사업상의 이유로 행해져 야합니다. 이러한 특정 도메인 내에 존재해야합니다.

양식을 제출할 때 PHP 스크립트에 올바르게 액세스했지만 POST 데이터를 가져 와서 사라졌습니다. 일시적으로 PHP와 동일한 서버에 양식을 저장했기 때문에 이것이 보안 문제라고 생각합니다.

이렇게하면 두 개의 별도 도메인에서 작동하도록 할 수 있습니까? 미리 감사드립니다.

편집 :

PHP 코드 (emailTemplate.php) :

<?php 
var_dump($_POST); 
?> 

HTML 형태 :

<form name="emailForm" id="emailForm" method="post" onsubmit="return beforeSubmit();" action="https://***.***.com/emailTemplate.php"> 
    <textarea rows="15" cols="75" id="myHtmlText" name="myHtmlText"></textarea> 
    <input type="text" id="toAddr" name="toAddr" size="60"/> 
    <input type="text" id="fromAddr" name="fromAddr" size="60"/> 
    <input type="text" id="subjectLine" name="subjectLine" size="60"/> 
    <input type="submit" name="Submit" value="Email Letter"> 
</form> 
+0

이론적으로는 사용자가 수행하는 작업이 문제를 일으키지 않아야합니다. (a) POST 데이터를받는 PHP 스크립트 또는 웹 양식을 보내는 중에 오류가 발생했거나 게시를 막는 PHP 스크립트 또는 서버 구성에 보안 조치가 있습니다. 불행히도, 우리가 할 수있는 최선은 당신이 당신의 코드를 게시 할 수 없다면 추측입니다. – Aaron

+0

@Aaron 그게 도움이된다면 코드를 추가했습니다. 감사. – jcmitch

+0

Firefox는 작동하지만 IE는 작동하지 않는 것 같습니다. IE는 XSS 경고를 제공합니다. – jcmitch

답변

5

만 IE에서 문제가 발생하는 경우, 자신의 XSS 필터는 할 수있다 책임이있다. This article은 사용 중지에 대한 세부 정보를 제공합니다.

이 문제를 완전히 피하려면 양식을 서버의 PHP 스크립트에 게시하고 해당 스크립트에서 다른 스크립트에 양식을 게시하는 cURL 세션을 만드십시오. XSS 트랜잭션은 클라이언트의 웹 브라우저와 독립적으로 발생하며 프로세스에서 이러한 브라우저 기반 보안 제한을 피합니다.

+0

감사합니다. 잘됐다! – jcmitch

+0

결과에 상대 URL이 포함 된 경우에는 작동하지 않습니다. 클라이언트는 원격 도메인이 아닌 도메인에 상대적인 URL을 해석합니다. – Barmar