Home > Backend Development > PHP Tutorial > 两个网站之间,如何通讯比较安全?

两个网站之间,如何通讯比较安全?

WBOY
Release: 2016-06-06 20:47:11
Original
1048 people have browsed it

比如,我有一个网站,网址是 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>
Copy after login

2.预处理 prepare
A点生成订单,A服务器curl访问B服务器传递订单信息(服务器与服务器通信,安全方面可以验证服务器IP),返回Token,然后A点跳转到http://b.com/pay.php?token={B点返回的Token值}

方案很多,看自己适合哪个

根据题目的意思,A服务器和B服务器是相对独立两个系统,统一的会话管理这个思路已经被封死了,是吧。

如果是两台独立的服务器可以参考"支付网关"的方式(各种回调之类的)。各种加密,各种HTTPS。
你还可以共用一个数据中心。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template