我有一个Spring MVC(5.0.8.RELEASE)应用程序,最近的安全扫描表明它具有“基于路径的漏洞”。这是控制器:
@RequestMapping(value = "/faq", method = RequestMethod.GET)
public String faq(HttpServletRequest request) {
return "faq";
}
对于上述控制器,这是我的“常见问题”页面的有效网址:
但是,基于安全性扫描和我测试的结果,以下网址也可以使用:
http://example.com/faq.anything
如何配置Spring MVC使{{3}}成为唯一有效的URL? (假设我不使用@PathVariable)
答案 0 :(得分:1)
因为默认为spring支持后缀“。*”。 / person也映射到/person。* /person.xml或/person.pdf或/person.any也已映射。 -要完全禁用文件扩展名,您必须同时设置以下两项:
.useSuffixPatternMatching(false)
.favorPathExtension(false)