是否可以使用PHP跨域发送POST数据?

时间:2013-08-01 18:34:00

标签: php sql forms dns transfer

我有一个主网站(带后端SQL数据库),我有卫星网站,这些网站都是独立的域名。这些网站中的每一个都由提供商托管并拥有自己的SQL数据库,但是,我不想维护6个或7个不同的数据库。相反,我只想要一个集中的。

我想要的是,当用户在其中一个卫星网站上提交表单时,数据可以传输并存储在主网站的数据库中。可能必须通过特殊的URL或其他东西 - 我真的不知道。

这可能吗?如果可以,怎么样?

我认为AJAX可能与它有关,但我似乎无法掌握它,它似乎对我不起作用。所以我希望使用简单的PHP可以实现这一点。任何帮助,将不胜感激。

提前致谢。

4 个答案:

答案 0 :(得分:1)

在托管数据库的服务器上,您可以设置一个PHP Web服务,该服务将从远程表单接收发布请求并与数据库进行通信。您可以传递您的帖子请求一些额外参数,以区分请求来源。

您必须格外小心这样的设计理念,因为您的脚本会接收来自不同来源的跨域请求,并且可能容易受到CSRF攻击,除非您通过验证来源和表单来采取一些额外的安全措施。请求即将到来。

除了上述解决方案之外,如果支持/启用与服务器的远程数据库连接,您还可以直接将sattelite站点直接连接到数据库。

答案 1 :(得分:0)

您也可以将您的卫星站点直接连接到您的中央数据库。它们不必位于相同的服务器上。 您需要的只是数据库服务器上的用户帐户,它允许从localhost以外的其他地址进行访问。

答案 2 :(得分:0)

是的,这当然是可能的,而且可能更好的是用PHP而不是客户端使用AJAX服务器端,因为在客户端上你会遇到XSS问题。您可能需要构建自己的API端点,我建议查看this article以获取有关发出请求的更多信息。

答案 3 :(得分:0)

您可以生成帖子请求并提交到任何域名。那不是问题。执行跨站点请求可能会有问题,但希望看到您的代码!