如何验证spring控制器的剩余调用响应,以防止XSS攻击

时间:2019-01-06 14:31:21

标签: java spring rest spring-mvc xss

我正在一个高度重视安全性的项目中工作。 我的项目使用rest调用,我需要验证响应以防止xss攻击。 spring控制器中的所有方法都返回ResponseEntity。 我们在前端使用角度6 。 当Fortify完成静态代码分析时,它会要求验证响应以避免xss。

您能建议我哪种方法是最好的方法,以及如何防止xss攻击在对该页面给予响应之前

1)在服务级别验证响应 2)在控制器级别验证响应

我是否需要在每种方法中进行操作,我不能在单个位置中进行操作吗?

如何实施?任何示例代码都会有帮助

我的示例代码

@RestController

@RequestMapping("/path")

public class MyController{


@Autowired
private IService service;


@RequestMapping(method=RequestMethod.GET,path="/search",produces="application/json")

public ResponseEntity<?> find(@PathVariable("id") @NotNull final Long id){

SomeDTO dto = null;

dto = service.findResults(id);

return new ResponseEntity<>(dto,HttpStatus.OK);

}


}

1 个答案:

答案 0 :(得分:0)

您不需要验证响应,应该在显示时执行。有几种方法可以防止FE端出现xss。首先,如果您不将值作为html注入,如果不在fe上创建html部件并且不将其注入DOM,则Angular会在框中为我们完成此操作。