0

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

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

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

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

提前致谢。

4

4 回答 4

1

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

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

除了上述解决方案之外,如果支持/启用到您的服务器的这种远程数据库连接,您还可以简单地允许您的卫星站点直接连接到您的数据库。

于 2013-08-01T18:40:27.397 回答
0

您也可以让您的卫星站点直接连接到您的中央数据库。他们不必在同一台服务器上。为此,您只需要一个数据库服务器上的用户帐户,该帐户允许从本地主机以外的其他地址进行访问。

于 2013-08-01T18:39:47.753 回答
0

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

于 2013-08-01T18:40:41.787 回答
0

您可以生成发布请求并提交到任何域。这不是问题。执行跨站点请求可能会出现问题,但希望查看您的代码!

于 2013-08-01T18:40:58.317 回答