复盘:正则匹配中的特殊符号,导致API无法访问的问题

今天发现一个bug:api中使用了“-”短横线,结果api无法正常访问。

排查下来是这样,我们的api不会直接访问,会在内部再做一次路由,路由的时候需要根据设定的规则,对传入的api路径进行匹配。

匹配的时候使用的是正则表达式,没有使用普通的字符串匹配。以前一直很正常,因为api路径中没有出现类似“-”这样对于正则匹配而言是特殊字符的内容。这次“-”被当成了特殊字符,所以当然就匹配不到,也就无法正常路由、访问到了。

对策:

  1. 使用字符串匹配。
  2. 对这类字符做特殊处理。

我们这里选用的方案是,改用字符串匹配。

小结:
这是很严重的问题,会导致大量类似的api无法访问,因此需要特别留意。

猜你喜欢

转载自blog.csdn.net/weixin_34101229/article/details/87056142