两个网站之间,如何通讯比较安全?
程序员文章站
2022-06-14 21:01:20
...
比如,我有一个网站,网址是 aaa.com
在这个网站上购买了产品,生成了一个订单。
但是支付的时候,必须跳转到我原有的支付中心(域名 bbb.com)上去支付!!
这样,怎么通讯还安全点?
我想到的就是 URL 之间的跳转,然后参数加密,或者用 auth? 还是 service ?
在这个网站上购买了产品,生成了一个订单。
但是支付的时候,必须跳转到我原有的支付中心(域名 bbb.com)上去支付!!
这样,怎么通讯还安全点?
我想到的就是 URL 之间的跳转,然后参数加密,或者用 auth? 还是 service ?
回复内容:
比如,我有一个网站,网址是 aaa.com
在这个网站上购买了产品,生成了一个订单。
但是支付的时候,必须跳转到我原有的支付中心(域名 bbb.com)上去支付!!
这样,怎么通讯还安全点?
我想到的就是 URL 之间的跳转,然后参数加密,或者用 auth? 还是 service ?
方案很多。
1.签名 sign
双方约定秘钥,URL参数按照一定规则签名,B点验证签名即可
// 双方约定的密钥
$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}");
2.预处理 prepare
A点生成订单,A服务器curl访问B服务器传递订单信息(服务器与服务器通信,安全方面可以验证服务器IP),返回Token,然后A点跳转到http://b.com/pay.php?token={B点返回的Token值}
方案很多,看自己适合哪个
根据题目的意思,A服务器和B服务器是相对独立两个系统,统一的会话管理这个思路已经被封死了,是吧。
如果是两*立的服务器可以参考"支付网关"的方式(各种回调之类的)。各种加密,各种HTTPS。
你还可以共用一个数据中心。