HTML表单POST跨域

时间:2011-12-13 23:17:11

标签: html post cross-domain

我有一个非常简单的HTML表单,它使用POST,它的操作在我的Web服务器上调用PHP脚本。

以下是踢球者...包含表单的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>

1 个答案:

答案 0 :(得分:5)

如果你只是在IE中遇到问题,他们的XSS过滤器可能是罪魁祸首。 This article提供了禁用它的详细信息。

要完全避免此问题,请尝试将表单发布到服务器上的PHP脚本,然后在该脚本中创建一个将表单发布到另一个脚本的cURL会话。 XSS事务独立于客户端的Web浏览器发生,避免了这些基于浏览器的安全限制。