Closed thx125 closed 5 months ago
欢迎直接提供优化代码,谢谢
可以将jsCode进行URLEncoder加密一下处理
public abstract class BaseWxMaServiceImpl<H, P> implements WxMaService, RequestHttp<H, P> {
// 省略
public WxMaJscode2SessionResult jsCode2SessionInfo(String jsCode) throws WxErrorException {
WxMaConfig config = this.getWxMaConfig();
Map<String, String> params = new HashMap(8);
params.put("appid", config.getAppid());
params.put("secret", config.getSecret());
params.put("js_code", URLEncoder.encode(jsCode, StandardCharsets.UTF_8));
params.put("grant_type", "authorization_code");
String result = this.get("https://api.weixin.qq.com/sns/jscode2session", Joiner.on("&").withKeyValueSeparator("=").join(params));
return WxMaJscode2SessionResult.fromJson(result);
}
}
params.put("js_code", URLEncoder.encode(jsCode, StandardCharsets.UTF_8));
你这个只是将js_code编码了吧,并没有解决appid和secret泄露的问题吧,难道你的本意不是这个?
提问前,请确保阅读过项目首页说明以及wiki开发文档相关内容,尤其是常见问题部分。完成内容后,请务必移除包括本句在内的无用内容,以免影响阅读,否则直接关闭,谢谢合作~
另外如果确认属于bug,而且已明确如何修复,请参考贡献指南直接提交PR,省的浪费时间在这里描述问题,非常感谢配合
简要描述
请简单概括描述下你所遇到的问题。 如果code传入的参数带了双引号,容易出现信息泄露的问题
模块版本情况
详细描述
尽量详细描述。请不要使用截图,尽量使用文字描述,代码直接贴上来,日志则请附在后面所示区域。
返回的异常信息包含了敏感信息,appid/secret Illegal character in query at index 203: https://api.weixin.qq.com/sns/jscode2session?access_token=78_39Cluk4uNHTSZnzABRbQrhucnwdsmwag343eOQphAgHzNphgo7e-0pWqeM_13vb8KpU-lBU5Z_UQFPY4fOfup3cazDT1-ljf_jT5_ShgCyJoXNiImGprQ8eztuwKCBfAIADVU&js_code=\"abc\"&secret=f6e0e8465wer63dbb682da98370feff1e&grant_type=authorization_code&appid=wx5370c9jhg248e428
可以通过异常信息获取appid/secret
日志
如果日志不多,直接使用md代码引用格式贴在此处,否则如果太长,请将日志放在 pastebin 或者其他地方,然后将其url地址贴在这里