gpt4 book ai didi

php - 处理从多个域到远程服务器的提交表单

转载 作者:搜寻专家 更新时间:2023-10-31 22:00:39 24 4
gpt4 key购买 nike

我被要求开发一个用于发送电子邮件的 php rest api,该 api 将托管在远程服务器上。他们有多个带有简单 html + JS 的站点(登录页面),由于某些原因,这些站点我们不能包含任何服务器端脚本。我们想在表单的操作中添加 url 之类的东西

<form action= "http://remotesite/api/submit.php" method="post" >

我计划使用类似这样的方式限制 api 接收来自特定域(我们的客户)的请求

$http_origin = $_SERVER['HTTP_ORIGIN'];

if ($http_origin == "http://www.domain1.com" || $http_origin == "http://www.domain2.com" || $http_origin == "http://www.domain3.info")
{
header("Access-Control-Allow-Origin: $http_origin");
}

但我读到可以修改请求来源信息。对于我想在表单页面中不使用服务器端语言的操作,是否有安全的解决方案?

-- 我正在考虑使用 $_SERVER["REMOTE_ADDR"] 获取源 ip 并在远程端与 ip 白名单匹配。这是一个安全的解决方案吗?

最佳答案

您可以将表单数据发送到本地服务器,然后使用 cURL 将数据从本地服务器发送到远程服务器。

这样,远程服务器就不会暴露给您的应用程序用户,您可以在后端添加额外的安全措施(例如添加一个您可以在远程站点或类似的东西上验证的 token )。

正如@Patrick 所说,这还允许您在远程服务器的代码中将本地服务器的 IP 列入白名单。

关于php - 处理从多个域到远程服务器的提交表单,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29755270/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com