We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
我们(记为A)接收上行消息时,为了保证安全,有时需要确保该消息是wxpusher(记为B)推送的。 比如“发送指令重启服务”的情况,不仅要保证该用户是已知的管理员用户,还要保证该POST的请求来源是wxpusher,而不是第三方。
建议wxpusher后台回调时增加一个签名(使用消息内容和appToken),这样只要第三方拿不到token,就无法伪造请求来源。 具体的实现方法,个人想法是:
sign
整条JSON内容 + "-" + appToken
MD5
SHA1
hash(...)
hash(整条JSON内容 + "-" + appToken)
appId
appToken
time
这样既不会破坏旧的协议,也可以增加回调的安全性。希望这个建议能被采纳。
The text was updated successfully, but these errors were encountered:
No branches or pull requests
我们(记为A)接收上行消息时,为了保证安全,有时需要确保该消息是wxpusher(记为B)推送的。
比如“发送指令重启服务”的情况,不仅要保证该用户是已知的管理员用户,还要保证该POST的请求来源是wxpusher,而不是第三方。
建议wxpusher后台回调时增加一个签名(使用消息内容和appToken),这样只要第三方拿不到token,就无法伪造请求来源。
具体的实现方法,个人想法是:
sign
字段,该字段为整条JSON内容 + "-" + appToken
用某种散列算法(MD5
或者SHA1
或者其他的算法)(记为hash(...)
)进行签名hash(整条JSON内容 + "-" + appToken)
与sign
比较,如果不相同则丢弃消息,相同则继续处理;appId
,然后查得相应的appToken
,再进行上面的处理time
字段和本地时间之差,是否在合理区间内?(小于x分钟)这样既不会破坏旧的协议,也可以增加回调的安全性。希望这个建议能被采纳。
The text was updated successfully, but these errors were encountered: