如何在 PHP 中启用跨域 POST?

2023-11-22

我正在将 POST 数据从一个站点发送到另一个站点(这两个站点都是由我们开发的)。 问题是,如果从另一个域请求该页面,则 POST 变量不可用。 即使我在本地测试,但指定完整的url,POST数据也没有了。

所以,这会起作用:

<form method="POST" action="test.php">

但这不会:

<form method="POST" action="http://example.com/test.php">

以下是该页面的 HTML:

<html>
<head>
    <title></title>
</head>
<body>
    <form method="post" action="http://example.com/test.php">
        <input type="text" name="request" value="" id="" />
        <input type="submit" value="" id="" />
    </form>
</body>
</html>

在我得到评论后,我发现这应该可以工作,我在另一台服务器上测试了它,一切都工作正常。这可能与第一个服务器上启用了 https 有关。但如果是这种情况,我会觉得很奇怪,我确实得到了信息,但只是 POST 数据丢失了。


您所拥有的应该可以正常工作 - 表单出现在同源策略之前 - 您可以提交到不同的域。

如果我大胆猜测一下,我会说有 301 或 302 重定向以某种方式进入其中?例如,请遵循 Firebug 的 HTTP 标头以确保安全。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 PHP 中启用跨域 POST? 的相关文章