有3个主要解决方案:
1.远程操作
最简单的方法是简单地将您的表单指向远程服务器。举个例子 :
<form method="post" action="http://myothersite.com/myphpscript.php">
</form>
并且myphpscript.php
像在本地主机中一样简单地处理表单。
2.代理操作(需要启用allow_url_fopen指令)
您还可以将表单指向同一服务器上的 php 脚本,该脚本将在另一台服务器上发送您的数据。此解决方案可用于绕过诸如 csrf 令牌之类的安全性:
<form method="post" action="proxy.php"></form>
代理.php:
$postdata = http_build_query($_POST); //Need some filtering !!!
$opts = array('http' =>
array(
'method' => 'POST',
'header' => 'Content-type: application/x-www-form-urlencoded',
'content' => $postdata
)
);
$context = stream_context_create($opts);
$result = file_get_contents('http://myotherserver.com/submit.php', false, $context);
这里不需要卷曲;)
3.远程数据库
最后,您可以使用具有远程访问权限的数据库,并使用其远程主机简单地连接到数据库,例如:
$mysqli = new mysqli('mydbHost.com', 'my_user', 'my_password', 'my_db');
不幸的是,这种解决方案很少被允许,因为它可能带来很大的安全风险(世界上任何人都可以尝试连接到数据库)。