Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/security/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在PHP中保护Post请求和响应_Php_Security_Curl - Fatal编程技术网

如何在PHP中保护Post请求和响应

如何在PHP中保护Post请求和响应,php,security,curl,Php,Security,Curl,我使用curlpost在我的三个站点之间交换数据。我需要通过确认POST请求是否从我的三个站点之一发送来确保数据交换的安全 现在我已经实现了请求头检查,但是请求头也可以被操作。有没有一种简单易行的方法来实现这一点 我正在开发一个RESTful服务,同时也在考虑如何确保服务与授权客户端之间的通信。经过长时间的研究,我决定采用以下解决方案 每个客户端(应用程序)都有一个公共ID和一个私钥。公共ID可以被打开。私钥,只有客户端和服务知道 对于每个请求,客户端必须使用HTTP基本身份验证对其进行身份验证

我使用curlpost在我的三个站点之间交换数据。我需要通过确认POST请求是否从我的三个站点之一发送来确保数据交换的安全


现在我已经实现了请求头检查,但是请求头也可以被操作。有没有一种简单易行的方法来实现这一点

我正在开发一个RESTful服务,同时也在考虑如何确保服务与授权客户端之间的通信。经过长时间的研究,我决定采用以下解决方案

每个客户端(应用程序)都有一个公共ID和一个私钥。公共ID可以被打开。私钥,只有客户端和服务知道

对于每个请求,客户端必须使用HTTP基本身份验证对其进行身份验证。用户名是公共ID。密码是SHA1令牌。令牌由公共ID、传输参数和私钥的组合生成

当服务收到请求时,他通过用户名知道客户机发出了什么请求​​这是我的请求。它使用相同的方法生成令牌,并将其与密码进行比较。
如果两个令牌相同,则客户端有权发出请求。此外,还可以确保不操纵参数。

您熟悉php会话和cURL吗?您是在客户端上尝试确保到达正确的服务器,还是在服务器上尝试确保客户端得到授权?或者您是否试图确保请求中的数据保持机密?(或者全部三个。这将是最好的情况。)它从SSL开始,SSL也支持客户端证书。如果您正在寻找公钥/私钥加密。服务器不应知道私钥。这不是私有公钥系统的工作方式。因此,你的答案中唯一的一个事实是,不仅如此,而且太多了。你所描述的是所谓的共享秘密。就像密码短语一样。我想指出的是,密码不是在纯文本中使用的。抱歉,如果术语混淆了。