Without Content
B/S模式下,从客户端跨域提交的一种安全处理方法
由于今天涉及到从客户端访问另一个服务域的接口,在考虑到安全问题(毕竟现在网络安全必须重视),
想到了一种处理方法。
场景
独立的互联网应用A,不具备向微信公众号粉丝发送通知的能力(只需要发个微信公众号通知,没有必要在部署微信模块了),而应用B则集成有微信公众号全部功能。
在从A的Client到B的Http接口,需要有可靠的安全机制——只要是客户端代码,基本不具可靠安全性,这点大家都知道的。
处理方法
A’Client Post Wx-msg 到A’Server,A‘Server首先在A本域内对A客户端进行权限验证,之后再进行协议封装加密,再之后提交到B的Http Api,得到返回结果,回传给A->A’Client。
如此没有跨域,安全基于A应用域内安全设置,相当于B对A‘Client透明。
PS:目前的开发框架,实现这些,比复制模块集成功能简单太多。
因为都是自有应用,数据加密采用服务端私钥单向加密
——直接调用Mysql数据库接口使用MySQL内置MD5加密。
懒是人的本性之一:本想直接访问数据库的,考虑到B应用可能会部署独立实例,又不愿为了这个需求把整个微信公众号服务模块集成到B应用。(见笑了)