Home >Backend Development >PHP Tutorial >两个网站之间,如何通讯比较安全?
比如,我有一个网站,网址是 aaa.com
在这个网站上购买了产品,生成了一个订单。
但是支付的时候,必须跳转到我原有的支付中心(域名 bbb.com)上去支付!!
这样,怎么通讯还安全点?
我想到的就是 URL 之间的跳转,然后参数加密,或者用 auth? 还是 service ?
比如,我有一个网站,网址是 aaa.com
在这个网站上购买了产品,生成了一个订单。
但是支付的时候,必须跳转到我原有的支付中心(域名 bbb.com)上去支付!!
这样,怎么通讯还安全点?
我想到的就是 URL 之间的跳转,然后参数加密,或者用 auth? 还是 service ?
方案很多。
1.签名 sign
双方约定秘钥,URL参数按照一定规则签名,B点验证签名即可
<code class="lang-php">// 双方约定的密钥 $security_key = 'xxxxxx'; // A点生成签名和URL $url = array(); $url['order_id'] = '订单编号'; $url['other_params'] = '其他参数'; // 排序 ksort($url); // 生成签名 $url['sign'] = md5($security_key.urldecode(http_build_query($url))); // 生成URL $url = 'http://b.com/pay.php?'.http_build_query($url); // 走去支付 Header("Location: {$url}"); </code>
2.预处理 prepare
A点生成订单,A服务器curl访问B服务器传递订单信息(服务器与服务器通信,安全方面可以验证服务器IP),返回Token,然后A点跳转到http://b.com/pay.php?token={B点返回的Token值}
方案很多,看自己适合哪个
根据题目的意思,A服务器和B服务器是相对独立两个系统,统一的会话管理这个思路已经被封死了,是吧。
如果是两台独立的服务器可以参考"支付网关"的方式(各种回调之类的)。各种加密,各种HTTPS。
你还可以共用一个数据中心。