有一个支付服务器。我可以通过cURL成功发送数据并设置适当的密钥和证书,并且支付服务器成功应答。但现在我需要重定向到该服务器,以便客户端可以输入信用卡数据。我该如何进行重定向?
是否有可能在功能标题中添加密钥/证书作为标题的一部分(“Location:https:// ....”); ?
答案 0 :(得分:0)
即使您可以将证书与重定向一起发送,浏览器仍然需要验证它。但你不能。不可能。您必须发送常规重定向。因为它是https地址,所以浏览器将首先从目标主机请求证书并验证它(包括必要的用户干预)。结果是一样的。
无法绕过请求用户接受/信任或拒绝证书的弹出对话框。 HTTPS旨在确保“对窃听者和中间人攻击的合理保护,前提是使用了足够的密码套件并且服务器证书经过验证和信任。” (引自维基百科)
答案 1 :(得分:0)
除非提供商有一个非常奇怪的设置,我认为你不能。有两个客户端连接到服务器 - 首先是使用客户端证书的PHP代码,然后您希望某个地方的浏览器能够绑定到没有客户端证书的同一会话?唯一可行的方法是,如果支付提供商发回代理身份验证令牌 - 如果他们这样做,他们会提供详细的文档。显然事实并非如此。
虽然您可以代理服务器上的数据,但我强烈建议您切换到另一家处理整个付款流程的付款服务提供商。