{"action":"created","issue":{"url":"https://api.github.com/repos/PingPlusPlus/pingpp-php/issues/20","labels_url":"https://api.github.com/repos/PingPlusPlus/pingpp-php/issues/20/labels{/name}","comments_url":"https://api.github.com/repos/PingPlusPlus/pingpp-php/issues/20/comments","events_url":"https://api.github.com/repos/PingPlusPlus/pingpp-php/issues/20/events","html_url":"https://github.com/PingPlusPlus/pingpp-php/issues/20","id":87303483,"number":20,"title":"回调数据建议有签名验证机制","user":{"login":"puxiaokang","id":7590371,"avatar_url":"https://avatars.githubusercontent.com/u/7590371?v=3","gravatar_id":"","url":"https://api.github.com/users/puxiaokang","html_url":"https://github.com/puxiaokang","followers_url":"https://api.github.com/users/puxiaokang/followers","following_url":"https://api.github.com/users/puxiaokang/following{/other_user}","gists_url":"https://api.github.com/users/puxiaokang/gists{/gist_id}","starred_url":"https://api.github.com/users/puxiaokang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/puxiaokang/subscriptions","organizations_url":"https://api.github.com/users/puxiaokang/orgs","repos_url":"https://api.github.com/users/puxiaokang/repos","events_url":"https://api.github.com/users/puxiaokang/events{/privacy}","received_events_url":"https://api.github.com/users/puxiaokang/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2015-06-11T10:59:09Z","updated_at":"2015-06-11T11:17:07Z","closed_at":null,"body":"对于回调过来的数据，目前只能靠 ``app``,``order_no``字段判断真伪（我没找到其它方法）。而这些信息有可能泄露，如果用来发起伪造的回调请求，就能不花一分钱完成支付订单。\r\n\r\n有几点解决方案，但都没有签名验证机制好：\r\n+ 对回调地址保密。不可靠\r\n+ 主动查询ping++服务器，确定订单状态真伪。多耗时间\r\n+ 加密客户端通信。可能被反编译获得参数信息\r\n\r\n建议你们考虑下"},"comment":{"url":"https://api.github.com/repos/PingPlusPlus/pingpp-php/issues/comments/111088208","html_url":"https://github.com/PingPlusPlus/pingpp-php/issues/20#issuecomment-111088208","issue_url":"https://api.github.com/repos/PingPlusPlus/pingpp-php/issues/20","id":111088208,"user":{"login":"lumixiliu","id":7042673,"avatar_url":"https://avatars.githubusercontent.com/u/7042673?v=3","gravatar_id":"","url":"https://api.github.com/users/lumixiliu","html_url":"https://github.com/lumixiliu","followers_url":"https://api.github.com/users/lumixiliu/followers","following_url":"https://api.github.com/users/lumixiliu/following{/other_user}","gists_url":"https://api.github.com/users/lumixiliu/gists{/gist_id}","starred_url":"https://api.github.com/users/lumixiliu/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/lumixiliu/subscriptions","organizations_url":"https://api.github.com/users/lumixiliu/orgs","repos_url":"https://api.github.com/users/lumixiliu/repos","events_url":"https://api.github.com/users/lumixiliu/events{/privacy}","received_events_url":"https://api.github.com/users/lumixiliu/received_events","type":"User","site_admin":false},"created_at":"2015-06-11T11:17:07Z","updated_at":"2015-06-11T11:17:07Z","body":"我们的webhooks是有签名验证机制的。你这里指的是notify么？？如果是这个，建议你们换到webhooks\r\n\r\n发自 lumixiliu\r\n\r\n> 在 2015年6月11日，18:59，joaner <notifications@github.com> 写道：\r\n> \r\n> 对于回调过来的数据，目前只能靠 app,order_no字段判断真伪（我没找到其它方法）。而这些信息有可能泄露，如果用来发起伪造的回调请求，就能不花一分钱完成支付订单。\r\n> \r\n> 有几点解决方案，但都没有签名验证机制好：\r\n> \r\n> 对回调地址保密。不可靠\r\n> 主动查询ping++服务器，确定订单状态真伪。多耗时间\r\n> 加密客户端通信。可能被反编译获得参数信息\r\n> 建议你们考虑下\r\n> \r\n> —\r\n> Reply to this email directly or view it on GitHub.\r\n> \r\n"}}