欢迎关注新博客下的同篇文章
http://exp.szer.me/parry/blog/wordpress/index.php/2018/05/01/wx_proxy/
代码文件
ReqForward 用于解决微信回调域名限制的请求转发工具
https://github.com/ParrySMS/ReqForward
- 注:代码结构有些混乱,未支持全部的请求转发,后续不定时更新
- 已计划于2018-7进行大的更新,欢迎大家在评论中留言提出意见
- 新更新的代码见 WxProxy-微信请求代理(即将完工)
请求流程说明
由于微信服务号后台限制只能有1个回调域名,当业务需求需要多个域名使用同一个服务号相关请求时,就必须要将相关业务部署到同一个域名下。为了解决这类问题,可指定一个回调域名用于转发微信相关的请求。例如,指定回调域名为 proxy.qq.com ,则需要向微信请求时,请求流程如下:
a.qq.com —请求—> proxy.qq.com下的接口 —请求—> 微信API接口
b.qq.com —请求—> proxy.qq.com下的接口 —请求—> 微信API接口
proxy.qq.com在接收到请求后,再次请求微信API接口,并将微信API接口的返回内容直输出返回。
安全问题
身份验证
请求转发必须加上对应的身份验证校验(例如JWT验证),必须保证是自己的业务域名进行相关调用,否则存在被他人恶意调用或攻击的风险。
参数安全
请求转发可以有效保证服务号的appid和appsecret不暴露于其他业务中,并且提高了项目部署的灵活性(可以在多台机器下部署不同代码的不同项目,减少运维所需的工作)
代码说明
配置文件 config.php
- 需要填写appid和appsecret的参数
- ACTION_REGION 参数指定了可接受的转发请求,与
forward.php中的 swtich case 语句一一对应
加密授权 auth.php
- 在该文件下设置
sign参数和action参数的加密方式
转发请求处理 forward.php
- 使用加密的
sign参数进行身份校验 - 使用加密的
action参数进行转发请求的操作指示
3万+



被折叠的 条评论
为什么被折叠?



