php中的sslpost

php中的sslpost,php,post,ssl,https,openssl,Php,Post,Ssl,Https,Openssl,我想在两个网站(站点A和站点B)之间安全地通信。 所以我想为这两个站点购买SSL证书 问题是, 我需要从站点B向站点a发送POST请求 然后Site-B应使用安全密钥进行响应 如果我在php中使用普通的post请求来发送帖子,它是否正确和安全? 或者,当我们使用SSL时,是否有任何特殊的方法来发送请求和响应 提前谢谢 后期编辑 实际上,我将使用站点B作为我的Web服务站点,稍后将有更多的第三方站点(如A、C、D、E……)连接到站点B以请求通信的安全密钥 稍后编辑2 如果站点A向站点B发送POST

我想在两个网站(站点A和站点B)之间安全地通信。 所以我想为这两个站点购买SSL证书

问题是, 我需要从站点B向站点a发送POST请求

然后Site-B应使用安全密钥进行响应

如果我在php中使用普通的post请求来发送帖子,它是否正确和安全? 或者,当我们使用SSL时,是否有任何特殊的方法来发送请求和响应

提前谢谢

后期编辑

实际上,我将使用站点B作为我的Web服务站点,稍后将有更多的第三方站点(如A、C、D、E……)连接到站点B以请求通信的安全密钥

稍后编辑2


如果站点A向站点B发送POST请求,那么如何在站点B中实现响应部分(将具有SSL)。我必须在回复中发送一些数据(包括安全密钥)。

使用如下url从A发布到Bhttps://site_b.com对于通信部分是安全的

然而,安全性远不止于通信


注:不是购买证书,而只是从B到A的通信,您可以考虑SFTP协议。

从A到B,用这样的URL发布代码>代码>https://site_b.com对于通信部分是安全的

然而,安全性远不止于通信


注:不是购买证书,而只是从B到A的通信,您可以考虑SFTP协议。

< P>您不需要为您的站点A/< P>提供SSL证书。 站点B可以单独拥有用于安全通信的SSL证书。对于向发布,以及从接收数据,一个安全通道用于通信(请注意通信如何意味着请求和响应!)

任何数量的站点都可以请求相同的安全站点B


如果您有站点B将内容发布到其他站点,那么情况就不同了:其他站点也应该有SSL

站点a不需要SSL证书

站点B可以单独拥有用于安全通信的SSL证书。对于向
发布,以及从接收数据,一个安全通道用于通信(请注意通信如何意味着请求和响应!)

任何数量的站点都可以请求相同的安全站点B


如果您有站点B将内容发布到其他站点,那么情况就不同了:其他站点也应该有SSL

如果要保护请求免受MITM攻击,服务器需要向其客户端证明其身份。如果要确保从浏览器到站点A的连接安全,站点A必须向浏览器证明其身份;如果站点A和站点B之间的连接是安全的,那么站点B必须向在站点A中运行的PHP脚本证明其身份(两者都是相当独立的)

证书的角色是在HTTPS连接中证明身份

如果要确保浏览器与站点A之间的通信安全,除非能够手动向其提供证书的用户数量相当有限,否则需要从站点A的知名CA(用户直接使用的CA)获取证书

如果只有有限数量的客户端连接到站点B(例如,只有站点a),并且如果您控制所有这些方,那么您可以在站点B上创建自己的CA(或使用自签名证书),并在站点a上运行的PHP代码中将其显式导入为可信证书(如果您在PHP中使用Curl进行连接,可以使用
CURLOPT\u CAINFO
进行设置)

如果您希望站点B由第三方使用,而手动向第三方提供证书是很困难的,那么您还需要从知名CA获得证书(这可能更方便)


您可能需要考虑的是当站点A连接到站点B时对其进行身份验证,因为它不仅仅是防止窃听和MITM攻击,而且确保站点B将信息提供给正确的方。您可以在站点B上使用一系列的认证/授权技术来实现这一点。这可以使用客户端证书F。rom站点A,但我建议不要使用站点A的证书(但您可以为此目的制作另一个客户端证书,可能是使用您自己的CA),因为PHP脚本需要具有对其及其私钥的读取权限(通常最好在脚本受损的情况下防止这种情况发生)。其他身份验证技术可能更明智,具体取决于上下文。

如果要保护请求免受MITM攻击,服务器需要向其客户端证明其身份。如果要确保从浏览器到站点A的连接安全,站点A必须向浏览器证明其身份;如果站点A之间的连接为了确保站点B的安全,站点B必须向站点A中运行的PHP脚本证明其身份(两者都是相当独立的)

证书的角色是在HTTPS连接中证明身份

如果要确保浏览器与站点A之间的通信安全,除非能够手动向其提供证书的用户数量相当有限,否则需要从站点A的知名CA(用户直接使用的CA)获取证书

如果只有有限数量的客户端连接到站点B(例如,只有站点a),并且如果您控制所有这些方,那么您可以在站点B上创建自己的CA(或使用自签名证书),并在站点a上运行的PHP代码中将其显式导入为可信证书(如果您在PHP中使用Curl进行连接,可以使用
CURLOPT\u CAINFO
进行设置)

如果您希望站点B由第三方使用,而手动向第三方提供证书是很困难的,那么您还需要从well kno获得证书