php - 两个网站之间,如何通讯比较安全?
怪我咯
怪我咯 2017-04-10 14:41:02
[PHP讨论组]

比如,我有一个网站,网址是 aaa.com
在这个网站上购买了产品,生成了一个订单。
但是支付的时候,必须跳转到我原有的支付中心(域名 bbb.com)上去支付!!
这样,怎么通讯还安全点?
我想到的就是 URL 之间的跳转,然后参数加密,或者用 auth? 还是 service ?

怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(3)
PHPz

方案很多。

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值}

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

PHPz

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

黄舟

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

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号